JUCE에서 일본어 문자열 사용 소양

6313 단어 jucetech
C++의 개발에서 먼저 요약해야 할 것은 일본어의 문자열 능력이다.
특히 교차 플랫폼의 처리가 번거롭다는 인상을 준다.
우선 이쪽을 보세요.
https://forum.juce.com/t/embedding-unicode-string-literals-in-your-cpp-files/12600
이 포럼의 기고문처럼 답은 UTF-8의 코드를 직접 쓰는 것이다.
//こんにちは世界
juce::String textToDisplay  = juce::CharPointer_UTF8 ("\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf\xe4\xb8\x96\xe7\x95\x8c");

UTF-8 String Literal Helper 도구를 사용하여 인코딩


포럼 기고문에서 말했듯이'UTF-8 String Literal Helper'도구를 사용하면 편리하다.이 도구는 Projecter→Tools 메뉴에서 시작할 수 있습니다.
그러나 프로젝트 글꼴은 일본어를 지원하지 않기 때문에 텍스트 상자에 일본어를 입력하면 사각형으로 표시됩니다.이것은 프로젝트 코드만 변경하고 일본어 글꼴을 사용하면 됩니다.
응용 프로그램의 원본 파일 "jucker Application.cpp"의 "initialise"함수에 지정된 글꼴 코드가 추가되었습니다.나는 그렇게 이 보도의 코드를 복제했다.
https://qiita.com/COx2/items/e2a8d1fb1ffa8a5af947

중요한 건 CharPointer.UTF8 사용


실제로 Windows 환경에서는 UTF-8 코드를 직접 쓸 필요가 없습니다.
소스 파일의 문자 코드를 다음과 같이 UTF-8로 설정하면 제대로 표시됩니다.물론 글씨체의 설정이 필요하다.
juce::String textToDisplay  = juce::CharPointer_UTF8("こんにちは世界");
이 테스트는 Windows Visual Studio 2017과 2019에서만 수행되므로 다른 환경에서는 제대로 표시되는지 알 수 없습니다.
그러나 다음 코드는 엉망이 되었다.
juce::String textToDisplay1 = L"こんにちは世界";  //文字化け
juce::String textToDisplay2 = u8"こんにちは世界"; //文字化け
기타 각종 설명 방법의 테스트 결과'jucke::CharPointer UTF8'을 사용하지 않으면 반드시 코드가 흐트러질 수 있음을 나타냈다.
또'L'과'u8'등 접두사를 붙이면 너무 촌스럽다.
점프:String:fromUTF8("안녕하세요")
이렇게 써도 되지만 이 기사에서는 비교적 사랑스럽다.

juce::CharPointer_UTF8은 긴 것 같아요!


매크로를 정의하면 짧아지고 편리할 수 있습니다.
예를 들면 이런 거.
#define ju8(x) juce::CharPointer_UTF8(x)
이렇게 쓰면 다음과 같다.
juce::String textToDisplay  = ju8("こんにちは世界");

총결산


JUCE에서 일본어 문자열 소양을 활용하고 싶은 경우.
확실히 UTF-8 코드를 직접 씁니다.
Projecter의 UTF-8 String Literal Helper 도구는 편리합니다.
//こんにちは世界
juce::String textToDisplay  = juce::CharPointer_UTF8 ("\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf\xe4\xb8\x96\xe7\x95\x8c");
Windows Visual Studio에서는 소스 파일의 문자 코드를 UTF-8로 설정하고 일본어를 직접 씁니다.
juce::String textToDisplay  = juce::CharPointer_UTF8("こんにちは世界");
일본어를 직접 쓸 수 있는 환경에서 매크로를 정의하는 것이 편리할 수 있습니다.
#define ju8(x) juce::CharPointer_UTF8(x)

juce::String textToDisplay  = ju8("こんにちは世界");

좋은 웹페이지 즐겨찾기