diff --git "a/README_\352\270\260\353\247\220\352\263\274\354\240\234\353\263\264\352\263\240\354\204\234.md" "b/README_\352\270\260\353\247\220\352\263\274\354\240\234\353\263\264\352\263\240\354\204\234.md" index ae74da0b04f96fb3a68ba046fe569a94a363761d..303768cea5063e3bd800ddf6d50c9547980c0ec7 100644 --- "a/README_\352\270\260\353\247\220\352\263\274\354\240\234\353\263\264\352\263\240\354\204\234.md" +++ "b/README_\352\270\260\353\247\220\352\263\274\354\240\234\353\263\264\352\263\240\354\204\234.md" @@ -36,12 +36,14 @@ Audacity 원본코드에 직접적으로 적용하기 전에 wxPython을 활용 우선, 간단한 창(wxWindow)에 텍스트(wxStaticText)를 추가하고 이 텍스트의 폰트(wxFont)를 변경하는 것으로 시작했다. 이 단순한 예제를 활용해 wxFont와 SetFont()를 통한 폰트 설정이 제대로 동작하는지 확인했다.  + main_panel에 폰트를 변경하는 코드를 추가하여 wxStaticText가 변하는 것을 확인할 수 있었다. 그 다음으로는 패널(wxPanel)과 그 안에 추가적인 패널이 포함된 복잡한 구조에서도 동일한 폰트 변경이 가능한지, MenuBar의 폰트도 변경이 가능한 지 실험을 진행했다. 이 과정을 통해 폰트 변경 코드를 어느 위치에 넣어야 전체 프로그램에 일괄적으로 적용되는지를 확인하고자 했다.  + wxButton마다 각각 SetFont()를 추가 하지 않고도 main_panel에만 폰트를 변경하는 코드를 추가하여 wxPanel 내부의 wxStaticText와 wxButton이 바뀌는 것을 확인할 수 있었다. 하지만 MenuBar의 경우에는 폰트를 바꿀 수 있는 방법이 확인되지 않았다. wxMenuBar는 wxWindow에 붙어 상단의 메뉴바를 표시해주는데, wxMenuBar의 함수에는 폰트를 설정할 수 있는 SetFont가 없었고 상위의 wxWindow의 폰트를 변경해도 MenuBar의 폰트가 변경되지는 않았다. wxMenuBar 하위의 wxMenu는 내부에 wxMenuItem을 통한 항목추가로 SetFont가 가능하다는 것을 확인했다. @@ -176,6 +178,7 @@ if __name__ == '__main__': 이후 Audacity 공식 문서와 디버깅을 통해서 Audacity의 초기화 부분을 분석했고 기본적인 구조를 파악할 수 있었다. 간단히 설명하면, 최상위 윈도우 아래에 메뉴바와 상태바, 일종의 레이아웃인 wxBoxSizer 등이 있고, wxBoxSizer 안에 트랙과 툴바가 있는 형태였다.  + 위 사진은 Audacity의 초기화 과정이다. AudacityApp::OnInit -> AudacityApp::InitPart2 -> ProjectManeger::New -> AudacityProject::Create 과정을 거쳐 호출되는 Create함수에서 최상위 윈도우가 선언된다. 이후 ProjectManeger에서 생성된 AudacityProjcet의 최상위 윈도우를 가져와 BoxSizer와 statusBar 등을 붙여 초기 레이아웃을 구성한다. ### Audacity 적용과 문제점 @@ -274,9 +277,11 @@ gFont.SetPointSize(fontSize + 2); ```  + 수정 전 상황, 붉은 색으로 표시된 부분에서 글자 흐릿함을 확인할 수 있고, 아래 패널의 좋지 못한 가독성도 확인할 수 있다.  + 수정 후 상황, 붉은 색으로 표시된 부분에서 폰트 변경과 크기 수정을 통한 가독성 향상을 확인할 수 있다. @@ -296,6 +301,7 @@ SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); ```  + 정상적으로 DPI인식이 되어 메뉴부분은 흐릿하지 않게 변했지만 나머지 UI들이 매우 작아지는 결과가 나타난다. @@ -312,6 +318,7 @@ https://github.com/audacity/audacity/issues/503 https://forum.audacityteam.org/t/audacity-ui-blurry-in-windows-10/51298/4  + 폰트 수정한 상황에 DPI까지 재정의해준다면 더욱 가독성이 높아진 결과를 확인할 수 있다.