개발 환경 설정을 한후에, 예전에 Intel기반의 Macbook Pro 2013 Late에서 설정했던 LODE를 이용하여 빌드 환경을 설정하였습니다. https://wiki.documentfoundation.org/Development/lode 빌드 환경 설정이 완료되어서 core (LibreOffice의 빌드 소스) 디렉토리로 이동하여, 다음의 명령어로 빌드를 실행하였습니다.
configure: error: in `/Users/sungdaehyun/dev/lode/dev/core':
configure: error: online update or breakpad/crashreporting are enabled, but no --with-privacy-policy-url=... was provided
해당 이슈에 대해서 왜 나오는지 이유를 알 수 없어, 내용을 IRC로 문의를 하니 다음과 같은 답변을 받았습니다.
10:25 PM <dhsung> Hello
10:25 PM <dhsung> Today, I bought new Apple M1 MacbookAir. So, I prepare autogen option for build. But, I found the message "online update or breakpad/crashreporting are enabled, but no --with-privacy-policy-url=... was provided" What is mean?
10:26 PM <mst___> either disable those features or use an arbitrary value for the url, it's just shown in a dialog somewhere
To build, run:
/Users/****/dev/lode/opt/bin/make
To view some help, run:
/Users/****/dev/lode/opt/bin/make help
After the build has finished successfully, you can immediately run what you built using the command:
open instdir/LibreOfficeDev.app
If you want to run the smoketest, run:
/Users/****/dev/lode/opt/bin/make check
HOST config (config.warn)
*************************************
* WARNING : Cannot find Clang headers to build compiler plugins, plugins disabled.
이후에 make로 빌드를 실행하였습니다.
Apple M1에서 빌드가 완료되고, 다음과 같이 빌드 완료된 프로그램 실행을 해보았습니다.
open instdir/LibreOfficeDev.app
실행이 아주 잘됩니다!
여기까지, Apple M1에서 LibreOffice(리브레오피스) 빌드 및 실행해보기 기록이였습니다.
gerrit에 SSH키 등록을 하였으면 ${HOME}/.ssh/config 파일 생성하거나 아님 기존 파일이 있으면 기존 파일에 에 아래와 같이 내용을 추가합니다
Host logerrit gerrit.libreoffice.org
IdentityFile /path/to/your/private-key
User YOUR_USERNAME_HERE
Port 29418
HostName gerrit.libreoffice.org
IdentityFile 속성에는 생성한 ${HOME}/.ssh/id_rsa를넣으면 됩니다. User 속성에는 gerrit에 등록된 id를 넣습니다.
이후, logerrit 실행을 해봅니다
$ ./logerrit test
There seems to be trouble. Please have the output of:
ssh -vvvv logerrit
at hand when looking for help.
일단 실행해보니, 우선 ssh -vvvv logerrit을 실행하라는군요
아래와 같이 실행해봅니다.
$ ssh -vvvv logerrit
테스트가 성공하면, SSH키에 대한 비밀번호 입력하라고 나오고, 입력이 완료되면 아래와 같은 메세지를 확인할 수 있습니다
**** Welcome to Gerrit Code Review ****
Hi {Your Name}, you have successfully connected over SSH.
Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:
git clone ssh://{your user id}@gerrit.libreoffice.org:29418/REPOSITORY_NAME.git
debug2: channel 0: written 292 to efd 6
debug3: send packet: type 1
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 e[write]/0 fd 4/5/6 sock -1 cc -1)
debug3: fd 1 is not O_NONBLOCK
Connection to gerrit.libreoffice.org closed by remote host.
Connection to gerrit.libreoffice.org closed.
Transferred: sent 3928, received 2040 bytes, in 9.5 seconds
Bytes per second: sent 415.1, received 215.6
debug1: Exit status -1
이제, logerrit이 제대로 실행되는지 확인해봅니다
$ ./logerrit test
Enter passphrase for key '/home/${HOME}/.ssh/id_rsa':
Your gerrit setup was successful!
gerrit시스템 설정이 제대로 되었으면 위와 같이 나옵니다.
소스 커밋하기
저장소에 수정한 내용을 git commit으로 커밋합니다.
커밋한 소스코드를 리브레오피스 gerrit 소스코드 리뷰시스템에 전달하기
커밋된 내용을 저장소에 적용을 하기 위해서, gerrit소스코드 리뷰 시스템에 이제 전달해야겠죠?
이제, logerrit을 이용하여 gerrit 코드 리뷰시스템에 커밋한 소스코드를 제출합니다.
$ ./logerrit submit master
Enter passphrase for key '/home/${HOME}/.ssh/id_rsa':
오브젝트 나열하는 중: 96, 완료.
오브젝트 개수 세는 중: 100% (96/96), 완료.
Delta compression using up to 4 threads
오브젝트 압축하는 중: 100% (50/50), 완료.
오브젝트 쓰는 중: 100% (57/57), 8.84 KiB | 55.00 KiB/s, 완료.
Total 57 (delta 45), reused 16 (delta 5), pack-reused 0
remote: Resolving deltas: 100% (45/45)
remote: Counting objects: 119475, done
remote: Processing changes: refs: 1, new: 1, done
remote: commit 6821939: warning: subject >50 characters; use shorter first paragraph
remote:
remote: SUCCESS
remote:
remote: https://gerrit.libreoffice.org/c/core/+/97344 Hardcode script for "Noto" CJK fonts & add USCRIPT_JAMO [NEW]
remote:
To ssh://logerrit/core
* [new branch] HEAD -> refs/for/master
이제, LibreOffice의 gerrit 코드 리뷰 시스템 설정 및 소스코드 제출 방법을 확인해보았습니다.
코로나-19(COVID-19) 전염병 대유행에 둘러싼 불확실성과 이 대유행으로 여행, 컨퍼런스 계획, 물류 및 참석자들이 행사에 올 가능성에 대한 영향으로 실제 오프라인 컨퍼런스 행사를 온라인 행사로 변경을 하게 되었습니다.
이 컨퍼런스를 온라인으로 변경하는 것은 좋은 소식이며, 행사주최를 하는 사람들은 행사 기간 동안 사교 활동을 원하는 사람들을 위한 통찰력 있는 발표, 기술적인 프레젠테이션 및 회의로 가득찬 훌륭한 컨퍼런스를 제공하려고 생각하고 있습니다. 비디오 컨퍼런스 도구를 이용하여, 참석자들은 오픈수세(openSUSE)와 리브레오피스(LbreOffice)의 신 기술을 배우고 개발자와 채팅으로 질문할 기회를 갖게 됩니다. 마케팅(Marketing), 디자인(Design), QA 및 기타 주제과 관련된 커뮤니티는 온라인으로 만나 아이디어를 포착하고 교환할 수 있습니다.
발표제안(Call for Papers; CfP)는 7월 21일까지 발표를 계속 제출할수 있습니다. 발표제안(CfP)의 제출은 https://events.opensuse.org 의오픈소스 이벤트 관리자(OSEM; Open Source Event Manager) 인스턴스에서 계속 진행됩니다. 제출물 모음은 OSEM도구로 구성하지만, 온라인 행사는 최근에 openSUSE Virtual Summit — https://opensuse.reqmagic.com 에서 사용된 것과 같은 다른 웹사이트에서 진행됩니다. 이 플랫폼은 파이어폭스(Firefox), 크로미움(Chromium) 및 여러 오픈소스 브라우저에서 동작합니다. 이 소프트웨어는 다양한 API(유투브[YouTube], 돌비[Dolby]등등)을 사용하여 플러그인이 필요 없는 전적으로 HTML5기반의 웹 기반 서비스를 지원합니다.
컨퍼런스의 일정과 시간 할당에 대한 더 많은 정보는 곧 전달할 예정입니다.
트랙(Tracks)
다음은 오픈수세(openSUSE)에 관련한 발표를 제출할때 선택할 수 있는 트랙 목록입니다.
a) 오픈수세(openSUSE) b) 오픈소스(Open Source) c) 클라우드와 컨테이너 기술(Cloud and Containers) d) 임베디드(Embedded)
다음은 리브레오피스(LibreOffice)에 관련한 발표를 제출할때 선택할 수 있는 트랙 목록입니다:
a) 개발(Development), APIs, Extensions, Future Technology b) 품질보증(Quality Assurance) c) 현지화(Localization), 문서화(Documentation), 모국어 프로젝트(Native Language Projects) d) LibreOffice에 마음을 끌게 하는 것: 사용 편의성, 디자인, 접근성 등 e) 개방 문서 형식(오픈 도큐먼트 포맷, Open Document Format) , 문서 해방(Document Liberation), 호환성 및 상호운용성(Interoperability) f) LibreOffice의 옹호, 촉진, 홍보, 마케팅
발표는 15분의 짧은 발표(short talk), 30분의 일반 발표(normal talk) 및 60분의 워킹그룹(workgroup session) 세션을 선택할수 있습니다. 조직위원회는 온라인 컨퍼런스 중에 참석자의 참여를 유지하기 위해서 발표를 단축시켜야 한다고 생각했습니다. 이 변경사항은 휴식 시간, 소셜 비디오 세션 및 각각 발표가 끝난 후 질의 응답에 대한 추가 시간에 대한 조정을 하는데 도움이 됩니다.
사용할 라이브 플랫폼을 사용하면 제한된 대역폭으로 접속하는 발표자가, 라이브 발표를 원하지 않는다면, 녹화한 발표를 실행시키는 것을 허용합니다. 발표자는 동영상을 시스템에 내장된 중지, 되감기, 빨리 감기 등으로 제어하는 것이 가능합니다.
소규모 회의(Mini-summits)
오픈수세 + 리브레오피스(openSUSE + LibreOffice) 조직위원회는 지역 언어로 회의와 함께 진행할 소규모 온라인 회의를 조직하는 거에 관심이 있는 커뮤니티 회원의 의견을 즉시 듣고 싶습니다. 이 아이디어는 소규모 온라인 회의가 리브레오피스 스페인어 커뮤니티에서 조직하는 정기 월례 행사가 열리는 것 처럼, 커뮤니티의 행사를 조직하는데 기꺼이 도움을 줄 수 있는 커뮤니티를 위해 많은 청중들에게 다가갈수 있을 것입니다. 오픈수세 + 리브레오피스(openSUSE + LibreOffice) 컨퍼런스는 영어로 진행되지만, 소규모 온라인 회의는 지역 언어로 진행할 것입니다.여러 나라의 활발한 커뮤니티에서 사용하는 언어(예를들어, 프랑스어, 독일어, 스페인어)를 사용하는 것에 대한 노력은 모든 자원봉사자들을 참여하기 위해서 조정을 해야합니다. 관심 있는 분은 제목으로 “openSUSE + LibreOffice Conference Mini-Summit”을 작성후, 다음의 이메일 주소 ddemaio@opensuse.org 로 메일 전달해주시기 바랍니다.
하나 이상의 주제와 관련되도록 발표제안을 작성하십시요. 예를들어, 발표가 보안 또는 데스크탑인 경우, openSUSE에서 응응프로그램 설치법이나 데모 시연등을 포함하는 것이 좋습니다. 발표에서 참석하는 사람이 무엇을 배울지 분명하게 작성하십시요. 예를들어, 발표에서 주요 기술 및 소프트웨어의 소개 및 발표의 주요 주제 등입니다.
libreoffice디렉토리로 이동하였으면 아래와 같이 빌드환경 설정을 해주는 스크립트를 아래와 같은 명령어로 실행하였습니다.
./autogen.sh --with-locales="ko" --with-vendor="me" --disable-werror --with-build-version="Built by me" --with-lang="ko" --enable-dbgutil
빌드 실행시 아래와 같이 오류가 나오면 libkrb5-dev 패키지를 설치햅니다
checking for library containing krb5_sendauth... no
configure: error: could not find function 'krb5_sendauth' required for Kerberos 5
Error running configure at ./autogen.sh line 299.
libkrb5-dev 패키지는 아래와 같은 명령어로 설치합니다.
$ sudo apt install libkrb5-dev
설치후, 다시 빌드 환경 스크립트 autogen.sh를 실행해줍니다.
****************************************************************************
To build, run:
/usr/bin/make
To view some help, run:
/usr/bin/make help
After the build has finished successfully, you can immediately run what you built using the command:
instdir/program/soffice
If you want to run the smoketest, run:
/usr/bin/make check
*************************************
* WARNING : no suitable nasm (Netwide Assembler) found for internal libjpeg-turbo
빌드 환경이 구성되었으면 make로 빌드를 해줍니다.
빌드는 2013년도에 생산된 i5 듀얼코어 4세대 하스웰+램16GB이면 아마 반나절 정도 오랫동안 걸릴겁니다. 자기전에 빌드하고 컴퓨터를 켜보면 빌드가 되었을겁니다.
윈도우의 WSL2에 설치한 리눅스 배포판에서 리브레오피스(Linux)를 실행하여 한글 정상적으로 나오게 하는 부분은 추후에 추가하여 공유를 하겠습니다.
실행 후, 빌드에 대한 옵션이 제대로 들어갔는지 확인해봅니다.
역시, 위에 벤더이름(me)가 잘 들어갔습니다.
상세하게 Build version 설정을 확인해보니 "Built by me"옵션도 제대로 들어갔구요. 그러나 로케일은 우분투(Ubuntu)기본 설치할때 들어가는 C.UTF-8이 들어가는 것이 아쉽더군요.
간단하게 실 사용을 해보겠습니다.
MS사의 워드격인 리브레오피스 라이터(Writer)에서 영어낱말은 잘 작성되는데, WSL2의 내부 Xwindow글꼴 설정에 한국어 설정한 것이 없으니 한글이 깨져나옵니다. WSL2의 기능에서 배포판에서 사용자 언어에 맞게 설정이 안되고, Xwindow설정에서도 당연히 사용자 언어에 맞게 설정되지 않은 문제라보니 이건 아쉽군요.
WSL2의 우분투(Ubuntu)에서 실제로 리브레오피스(LibreOffice)를 빌드 및 실행을 해보았습니다. 실행후 가볍게 사용해보니 불안정한 문제는 없고 리눅스위에 실행한 것과 동일한 경험을 제공하였습니다. 다만 "한글"이 나오지 않은건 "한국어" 글꼴 렌더링 설정이 안되어서 입니다. 뭐 기본 로케일이 C.UTF-8이니 Xwindow설정에 한글 글꼴 관련 렌더링이 없어 한글 당연히 깨집니다.
MS사의 리눅스(Linux)지원 행보를 보면, 예전과 다르게 오픈소스 친화적으로 변하면서 여러 리눅스에서 돌아가는 응용프로그램을 윈도우에서 실 사용할수 있게 지원함을 알수 있습니다.
여기서 좀 더 확장해가면 MS사가 윈도우 자체 기술은 가지되, 실제 커널 부분을 리눅스(Linux)로 옮겨서 리눅스용 응용프로그램을 품지 않을까란 생각이 들긴 하더군요. (이건 저의 뇌내 망상이라 흘려 들으시기 바랍니다)
앞으로 WSL2가 발전되어 윈도우 언어에 맞게 리눅스 설정이 자동으로 되면 리눅스 개발도 윈도우에서 하는 재미있는 상황이 생기지 않을까란 생각을 해봅니다.
WSL2에 GPU지원한다길래, WSL2에서 리브레오피스(LibreOffice)를 실행할수 있을까에 대한 궁금증으로 시작한 주말의 삽질기는 여기까지입니다.
실제 사용이 가능한지는, 제가 직장인이라 윈도우를 집에서 항상 쓸일이 없어서, 다음 주말에 실행해봐야겠군요. (당연 Xwindow에 한글 글꼴 설정 및 입력 관련으로 삽질을 해봐야 할것 같구요.) ㅎㅎ
제가 2011년 이후부터 주로 Mac OSX와 openSUSE 랩탑 2개로 집에서 작업하다보니, 집에서 윈도우를 네이티브(Native)로 실사용을 거의 오랜만(9~10년)에 해보았습니다. :)
안녕하새요. 질문이 있어요.
어떻게 이 repository로 commit할 수 있어요?
https://gerrit.libreoffice.org/admin/repos/WhatCanIDoForLibreOffice
logerrit없어요. 모르겠어요~😭
이본어 번역을 commit하고 싶어요...😢
Translated into English
Hello, I have a question.
How to commit the files on the repository, WhatCanIDoForLibreOffice
https://gerrit.libreoffice.org/admin/repos/WhatCanIDoForLibreOffice
I have no logerrit file. I don't know~😭
I want to commit the Japanese translation.
------
I corrected his Korean writing.
안녕하세요. 질문이 있습니다.
어떻게 이 repository로 commit할 수 있어요?
https://gerrit.libreoffice.org/admin/repos/WhatCanIDoForLibreOffice
저는 logerrit이 없어요. 모르겠어요~😭
일본어 번역을 commit하고 싶어요...😢
He want to add Japanese translation on "What Can I Do For LibreOffice" repository, controlled by TDF Gerrit code review system.
I added Korean translation on the "What Can I Do For LibreOffice" Homepage.
I summarize the log to add add my translation(Korean) on "What Can I Do For LibreOffice" repository. (It can also apply to translation for CJK languages such as Japanese, Chinese[Traditional, Simplified], etc.)
For the first time, You need to set yourself up LibreOffice gerrit code review system.
Below is Detail contents about Setup yourself up for gerrit.
And then, add /locales/[your-language code].inifile and modify index.html and locales.ini files.
I'm Korean and My mother tongue is Korean, so My Language's ISO Language code is ko-KR. So, I added ko-kr.inifile.
(For example, If you are Japanese, You can add Japanese code ja and add ja.inifile. Also you are Simplified Chinese speaker, You can add zh-cn.ini file for ISO's Simplified Chinese Language code zh-CN, you are Traditional Chinese speaker, You can add zh-tw.ini file for ISO's Simplified Chinese Language code zh-TW.)
With this opportunity, I would like East Asian developers to collaborate on various developments and uses on LibreOffice.
Collaboration
Korean: 협업(協業)
Japanese: 協力, コラボレーション
Simplified Chinese: 合作/协作
Traditional Chinese: 協作/合作
우리말로 쓴 글
2020년 6월 17일 수요일.
일본의 문서재단(The Document Foundation)회원인 노가타 준(Jun Nogata, 野方純)님께서 페이스북의 "리브레오피스 (한국어)"채널에 글을 올리셨습니다.
안녕하새요. 질문이 있어요.
어떻게 이 repository로 commit할 수 있어요?
https://gerrit.libreoffice.org/admin/repos/WhatCanIDoForLibreOffice
logerrit없어요. 모르겠어요~😭
이본어 번역을 commit하고 싶어요...😢
(여기서는 일본분의 글을 아래와 같이 어법에 맞게 고쳐보았습니다.)
안녕하세요. 질문이 있습니다.
어떻게 이 repository로 commit할 수 있어요?
https://gerrit.libreoffice.org/admin/repos/WhatCanIDoForLibreOffice
저는 logerrit이 없어요. 모르겠어요~😭
일본어 번역을 commit하고 싶어요...😢
저는 "What Can I Do For LibreOffice" 홈페이지에 한국어 번역을 하였습니다.
저는 "What Can I Do For LibreOffice"의 저장소에 한국어 번역을 추가한 기록을 다음과 같이 정리하였습니다. (이 글을 참조로 하여 일본어[日本語], 중국어[번체繁體, 간체简体] 등등 동아시아 언어 사용사는 사람이 "What Can I Do For LibreOffice"의 저장소에 번역을 올릴 수 있습니다.)
그리고, /locales/[your-language code].ini 파일을 추가 및 index.html 과 locales.ini 파일을 수정합니다.
저는 한국인이며, 모국어가 한국어입니다. 그래서 한국어의 ISO언어 코드는 ko-KR입니다. 그래서 저는 ko-kr.ini파일을 추가했습니다.
(예를들어, 일본어를 사용하는 일본사람이라면, 일본어 언어 코드가 ja 이니 ja.ini파일을 추가하여 번역을 적용할 수 있습니다. 또한, 간체 중국어를 사용하는 사람이라면 간체 중국어에 해당하는 언어 코드가 zh-CN 이니 zh-cn.ini을 추가하여 번역을 적용할 수 있습니다. 그리고 번체 중국어 사용하는 사람이라면 번체 중국어에 해당하는 언어코드가 zh-TW 이니 zh-tw.ini파일 추가하여 번역을 적용할 수 있습니다.)
이 글을 계기로, 여러가지 개발 및 사용관련으로 CJK 지역의 협업(協業), (Japanese: 協力, Simplified Chinese: 合作/协作, Traditional Chinese: 協作/合作, English: Collaboration)을 이루었으면 합니다. :)
빌드 중 에러, Skia는 Clang(llvm)이 필요하나 현재 cygwin에서 설치를 했으나 인식을 못하는듯 그래서 빌드시 skia 미지원으로 빌드하도록 변경
checking whether to build Skia... yes checking for clang-cl... no configure: error: Clang compiler not found. The Skia library needs to be built using Clang. Error running configure at /cygdrive/c/sources/libo-core/autogen.sh line 299.
안티바이러스 끄기를 해야 빌드 설정이 진행되더군요.
cat: 'C:/sources/libo-core/eicar': Permission denied configure: error: Exclude the build and source directories associated with LibreOffice in the following Antivirus software: *Windows Defender Error running configure at /cygdrive/c/sources/libo-core/autogen.sh line 299. Windows10에서 안티바이러스 끄기는 업데이트 및 보안선택 -> Windows 보안선택 -> 바이러스 및 위협방지 클릭
실시간 감지를 끕니다. 그래야 빌드를 시도할 수 있습니다.
빌드 설정이 끝나면 아래와 같은 메세지를 확인할 수 있습니다.
To build, run:
C:/cygwin64/opt/lo/bin/make
To view some help, run:
C:/cygwin64/opt/lo/bin/make help
이제, 아래의 명령어로 빌드를 진행해봅니다
$ /opt/lo/bin/make clean gb_COLOR=1
이후, 빌드를 하려니 또 오류가 나오더군요.
아래 오류를 보니, 왜 빌드가 안되지 하며 이해가 안되어 머리가 아팠습니다. msvcprtd.lib(MSVCP100D.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
위의 빌드 오류 이슈에 대해서 LibreOffice의 #libreoffice-dev채널에서 아래의 링크를 이용하여 문의를 하였습니다.
Friday, June 12th, 2020 Hello
12:30 AM I have a question for windows build.
12:31 AM Now, I build LibreOffice on Windows. After setting building environment (Cygwin). During building, It shows error message
12:31 AM [coreconf/rules.mk:44: lib] Error 2
12:31 AM out\nssutil3.lib □□□̺귯□□ □□ out\nssutil3.exp
12:32 AM [C:/sources/libo-core/external/nss/ExternalProject_nss.mk:21: C:/build/workdir/ExternalProject/nss/build] Error 1 mst___: please use pastebin
mst___: it looks like when building nss, /FS parameter is missing in the command line for pkix_pl_pk11certstore.c dhsung: Hmm, How to add the /FS parameter at autogen.sh? mst___: can you pastebin the command line that invokes cl.exe on pkix_pl_pk11certstore.c ? https://pastebin.com/nSx0sKkw
mst___: ah... probably the cause is the syntax error in /usr/bin/sh: -c: line 0: `expr Microsoft(R) \> 1600 \| Microsoft(R) = 1600 \& C/C++ \>= 40219'
dhsung: hmm, I checked the env, It shows LANG=ko_KR.UTF-8@cjknarrow
mikekaganski: out of interest: what does 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe' output for you in the console?
1:21 AM you might want to file a bug against NSS with that information ;-)
1:21 AM — mikekaganski used his path to cl.exe, naturally dhsung_ might need to adjust
— mikekaganski has "Microsoft (R) C/C++ Optimizing Compiler Version 19.26.28806 for x64" in the first line mikekaganski: anyway, I'd suggest you to re-run VS installer, and only select en-US UI
1:42 AM no need to reinstall
1:42 AM just run its installer and modify install set
1:44 AM dhsung_: https://imgur.com/PnNB7Li https://imgur.com/PnNB7Li
아래 영어에 적힌 내용처럼, cygwin 쉘에서는 인코딩 집합과 맞지 않아 빌드 오류인 경우가 많으니, 리브레오피스를 윈도우환경의 cygwin에서 빌드시, Visual Studio설정을 영어로 된 UI로 설정을 해야 한다고 나와 있습니다. Note: Visual Studio command-line tools use system OEM codepage to output messages to console, when corresponding UI language is installed as part of Visual Studio installation. The OEM codepage on Windows depends on system locale defined using "Language for non-Unicode programs" in intl.cpl applet (description of the setting), and is often incompatible with encoding set in cygwin shell (typically UTF-8). This garbles the output from the tools in the build log. You might want to make sure that you only install English UI when installing Visual Studio to avoid that problem.
아래는, 주석에 적은 문자열를 Python을 이용하여 Unicode Codepoint로 변환하는 예제입니다.
Python 3.8.3 (default, May 27 2020, 20:54:22)
[Clang 11.0.3 (clang-1103.0.32.59)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> "一億二千三百四十五万六千七百八十九".encode("unicode_escape")
b'\\u4e00\\u5104\\u4e8c\\u5343\\u4e09\\u767e\\u56db\\u5341\\u4e94\\u4e07\\u516d\\u5343\\u4e03\\u767e\\u516b\\u5341\\u4e5d'
>>> "壹億貳阡參佰四拾伍萬六阡七佰八拾九".encode("unicode_escape")
b'\\u58f9\\u5104\\u8cb3\\u9621\\u53c3\\u4f70\\u56db\\u62fe\\u4f0d\\u842c\\u516d\\u9621\\u4e03\\u4f70\\u516b\\u62fe\\u4e5d'
>>> "1억2천3백4십5만6천7백8십9".encode("unicode_escape")
b'\\uff11\\uc5b5\\uff12\\ucc9c\\uff13\\ubc31\\uff14\\uc2ed\\uff15\\ub9cc\\uff16\\ucc9c\\uff17\\ubc31\\uff18\\uc2ed\\uff19'
>>> "일억이천삼백사십오만육천칠백팔십구".encode("unicode_escape")
b'\\uc77c\\uc5b5\\uc774\\ucc9c\\uc0bc\\ubc31\\uc0ac\\uc2ed\\uc624\\ub9cc\\uc721\\ucc9c\\uce60\\ubc31\\ud314\\uc2ed\\uad6c'
>>>
Python의 결과값을 이용하여 Cppunittest의 결과값 비교를 하는데 유용하여 사용했습니다.
Python이 아니였으면 일본사람인 小笠原徳彦(Naruhiko Ogasawara)님과 협업으로 리브레오피스 소스코드 수정하는데 많이 지연이 되었을 것 같아요.