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 4194a2f99c644d9474aec884e985854598f8b3da..3e0db978037f46939eab17faa36c9d46fc4e6dc3 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" @@ -34,15 +34,15 @@ Audacity 원본코드에 직접적으로 적용하기 전에 wxPython을 활용 우선, 간단한 창(wxWindow)에 텍스트(wxStaticText)를 추가하고 이 텍스트의 폰트(wxFont)를 변경하는 것으로 시작했다. 이 단순한 예제를 활용해 wxFont와 SetFont()를 통한 폰트 설정이 제대로 동작하는지 확인했다. -#### 여기 wxWindow안에 wxStaticText있는 레이아웃의 폰트 변경 사진 넣기 +# 여기 wxWindow안에 wxStaticText있는 레이아웃의 폰트 변경 사진 넣기 그 다음으로는 패널(wxPanel)과 그 안에 추가적인 패널이 포함된 복잡한 구조에서도 동일한 폰트 변경이 가능한지, MenuBar의 폰트도 변경이 가능한 지 실험을 진행했다. 이 과정을 통해 폰트 변경 코드를 어느 위치에 넣어야 전체 프로그램에 일괄적으로 적용되는지를 확인하고자 했다. -#### wxPanel 안의 wxPanel 안의 Button 구조의 폰트변경 사진 넣기 +# wxPanel 안의 wxPanel 안의 Button 구조의 폰트변경 사진 넣기 하지만 MenuBar의 경우에는 폰트를 바꿀 수 있는 방법이 확인되지 않았다. wxMenuBar는 wxWindow에 붙어 상단의 메뉴바를 표시해주는데, wxMenuBar의 함수에는 폰트를 설정할 수 있는 SetFont가 없었고 상위의 wxWindow의 폰트를 변경해도 MenuBar의 폰트가 변경되지는 않았다. wxMenuBar 하위의 wxMenu는 내부에 wxMenuItem을 통한 항목추가로 SetFont가 가능하다는 것을 확인했다. -#### MenuBar안에 Menu와 MenuItem들어있는 구조의 폰트 변경 사진 넣기 이 때 MenuBar는 변경되지 못함을 파악해야함 +# MenuBar안에 Menu와 MenuItem들어있는 구조의 폰트 변경 사진 넣기 이 때 MenuBar는 변경되지 못함을 파악해야함 결론적으로 여러 구조에서 폰트 변경을 시도한 결과, 폰트 설정 코드를 상위 구조에 위치시키면 하위 구조들도 해당 폰트로 변경된다는 사실을 알 수 있었다. 즉, 프로그램 전체의 폰트를 수정하기 위해서는 가장 최상위 구조인 최상위 윈도우에 폰트 설정 코드를 넣어야 한다는 것을 파악했다. 또한 메뉴바의 폰트의 경우에는 폰트 설정을 추가해도 변경되지 않는다는 것을 파악했다. @@ -121,7 +121,7 @@ if __name__ == '__main__': ### Audacity 구조 파악 -#### Audacity의 계층구조? 사진 넣기 +# Audacity의 계층구조? 사진 넣기 이후 Audacity 공식 문서와 디버깅을 통해서 Audacity의 초기화 부분을 분석했고 기본적인 구조를 파악할 수 있었다. 간단히 설명하면, 최상위 윈도우 아래에 메뉴바와 상태바, 일종의 레이아웃인 wxBoxSizer 등이 있고, wxBoxSizer 안에 트랙과 툴바가 있는 형태였다. @@ -143,7 +143,7 @@ https://learn.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-applicati Audacity는 wxWidgets을 사용하고 있고, wxWidgets은 3.1.3버전 전까지는 HiDPI를 지원할 수 없는 상태였다. 현재 Audacity에서 사용되는 wxWidgets버전은 HiDPI를 지원할 수는 있지만, 현재 Audacity 프로그램은 DPI인식까지는 가능해도 내부적으로 DPI에 맞게 프레임의 크기를 조절하는 코드는 구현되어 있지 않은 상태였다. 따라서 고해상도 환경에서 Audacity를 사용할 경우 DPI인식이 되어 프로그램 내의 UI가 굉장히 작게 표현되거나 DPI인식이 되지 않아 UI들이 확대되고 흐릿하게 보이는 현상이 나타난다. 실제로 15.6인치에 2880x1800 해상도인 현재의 노트북에서는 배율이 200%로 사용되고 Audacity도 흐릿하게 나타났지만, 30인치에 2560x1080인 와이드모니터에서는 배율이 100%로 사용되어 흐릿함없이 표현되는 모습을 확인할 수 있었다. -#### 보조모니터와 노트북에서의 환경차이 사진첨부 +# 보조모니터와 노트북에서의 환경차이 사진첨부 결국 폰트 변경은 이미 가독성이 높은 폰트인 맑은 고딕에 Bold옵션을 더해서 부족한 부분에만 변경코드를 추가하고, 글자 흐림 문제를 중점적으로 해결하는 것으로 목표를 조금 수정했다.