JUCE에서 일본어 문자를 표시할 때의 Tips
JUCE는 무엇입니까?
JUCE (Jules 'Utility Class Extensions)는 C++ 언어로 멀티미디어 응용 프로그램을 개발하는 데 도움이되는 프레임 워크입니다. 크로스 플랫폼 설계의 라이브러리와, 부속되어 있는 프로젝트 제너레이터 「Projucer」로부터 각종 IDE(VisualStudio, Xcode, Makefile)용으로 프로젝트 파일을 출력하는 것으로, 원 소스로부터 Windows, macOS, Linux, iOS, Android로 동작 하는 응용 프로그램을 만들 수 있습니다.
공식 사이트
일본어 문자 표시가 두부가되어 버린다
JUCE 프레임워크는 주로 영어권에서 개발되고 있는 경우도 있어, 영어 이외의 언어의 문자 표시가 그다지 의식되어 있지 않습니다.
아래의 이미지는 juce::AudioDeviceSelectorComponent
의 표시예입니다만, 채널명에 일본어 문자열이 포함되어 있는 경우, 일본어의 문자 표시가 두부가 되어 버립니다.
쉬운 해결책
JUCE 프레임워크에서는 juce::LookAndFeel
클래스에 정의되어 있으며, 애플리케이션의 GUI 표시에 대한 자세한 구현(룩앤필)이 있습니다.
응용 프로그램은 항상 기본 LookAndFeel 개체를 제공하므로 해당 설정을 변경하여 응용 프로그램 전체에서 사용하는 글꼴을 전환할 수 있습니다.
아래에서는 OS가 Windows의 경우 Windows에 표준으로 설치되어 있으며 일본어 글리프가 포함되어 있습니다. Meiryo UI
사용하도록 구현하고 있습니다.
MainComponent::MainComponent()
{
#if JUCE_WINDOWS
String typeFaceName = "Meiryo UI";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#elif JUCE_MAC
String typeFaceName = "Arial Unicode MS";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#elif JUCE_LINUX
String typeFaceName = "IPAGothic";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#endif
~~~中略~~~
}
일본어 문자가 올바르게 표시됨
그러나 기본 설정을 변경하기 때문에 전체 응용 프로그램에 Arial Unicode MS
글꼴이 적용되는 부작용이 있습니다.
컴포넌트마다 적용하고 싶은 폰트를 바꾸려면 귀찮습니다만, 컴퍼넌트 마다 폰트를 바꾸도록(듯이) 구현 코드를 기술합시다.
참고
Reference
이 문제에 관하여(JUCE에서 일본어 문자를 표시할 때의 Tips), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/COx2/items/e2a8d1fb1ffa8a5af947
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
JUCE 프레임워크는 주로 영어권에서 개발되고 있는 경우도 있어, 영어 이외의 언어의 문자 표시가 그다지 의식되어 있지 않습니다.
아래의 이미지는
juce::AudioDeviceSelectorComponent
의 표시예입니다만, 채널명에 일본어 문자열이 포함되어 있는 경우, 일본어의 문자 표시가 두부가 되어 버립니다.쉬운 해결책
JUCE 프레임워크에서는 juce::LookAndFeel
클래스에 정의되어 있으며, 애플리케이션의 GUI 표시에 대한 자세한 구현(룩앤필)이 있습니다.
응용 프로그램은 항상 기본 LookAndFeel 개체를 제공하므로 해당 설정을 변경하여 응용 프로그램 전체에서 사용하는 글꼴을 전환할 수 있습니다.
아래에서는 OS가 Windows의 경우 Windows에 표준으로 설치되어 있으며 일본어 글리프가 포함되어 있습니다. Meiryo UI
사용하도록 구현하고 있습니다.
MainComponent::MainComponent()
{
#if JUCE_WINDOWS
String typeFaceName = "Meiryo UI";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#elif JUCE_MAC
String typeFaceName = "Arial Unicode MS";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#elif JUCE_LINUX
String typeFaceName = "IPAGothic";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#endif
~~~中略~~~
}
일본어 문자가 올바르게 표시됨
그러나 기본 설정을 변경하기 때문에 전체 응용 프로그램에 Arial Unicode MS
글꼴이 적용되는 부작용이 있습니다.
컴포넌트마다 적용하고 싶은 폰트를 바꾸려면 귀찮습니다만, 컴퍼넌트 마다 폰트를 바꾸도록(듯이) 구현 코드를 기술합시다.
참고
Reference
이 문제에 관하여(JUCE에서 일본어 문자를 표시할 때의 Tips), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/COx2/items/e2a8d1fb1ffa8a5af947
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MainComponent::MainComponent()
{
#if JUCE_WINDOWS
String typeFaceName = "Meiryo UI";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#elif JUCE_MAC
String typeFaceName = "Arial Unicode MS";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#elif JUCE_LINUX
String typeFaceName = "IPAGothic";
Desktop::getInstance().getDefaultLookAndFeel().setDefaultSansSerifTypefaceName(typeFaceName);
#endif
~~~中略~~~
}
그러나 기본 설정을 변경하기 때문에 전체 응용 프로그램에
Arial Unicode MS
글꼴이 적용되는 부작용이 있습니다.컴포넌트마다 적용하고 싶은 폰트를 바꾸려면 귀찮습니다만, 컴퍼넌트 마다 폰트를 바꾸도록(듯이) 구현 코드를 기술합시다.
참고
Reference
이 문제에 관하여(JUCE에서 일본어 문자를 표시할 때의 Tips), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/COx2/items/e2a8d1fb1ffa8a5af947
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(JUCE에서 일본어 문자를 표시할 때의 Tips), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/COx2/items/e2a8d1fb1ffa8a5af947텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)