Monday, March 18, 2019

Chrome App의 아이콘을 올바르게 표시하는 방법

크롬에서 웹앱의 바로가기를 만들어 데스크톱 앱처럼 쓰는 방법이 있다.

문제는 아이콘이 제대로 표시되지 않고 죄다 Chrome 아이콘으로 표시되는 것이다.

아주 간단한 방법이 있다.
BAT 파일을 만들고, 그 바로가기를 만들어 바로가기의 아이콘을 바꾸는 것이다.
(bat의 아이콘을 바로 바꿀 수 있으면 좋을 텐데, 그럴 수 없다.)

단점: 1) 크롬 웹앱이 아니라 별도의 데스크톱 앱(.bat)을 실행하는 것으로 인식되므로 타일 배경은 시스템 색으로 고정된다. 그런데 타일 배경은 크롬의 배경색(회색)이었으므로, 시스템 색으로 고정되느냐 회색으로 고정되느냐의 차이일 뿐이다. 2) Chrome Apps 폴더에 아이콘이 두 배로 생긴다.
.bat 파일의 바로가기(.lnk)를 만들기 전에, 원래의 .lnk의 이름을 바꿔야 이름 충돌이 생기지 않는다.

기존의 복잡한 방법(chrome.VisualElementsManifest.xml 지우기, chrome.exe 다른 이름으로 복사하기 등)은 크롬이나 Windows OS 업데이트 때마다 초기화되기 때문에 이 .bat 파일 만들기가 그나마 나은 방법인 것 같다.

Thursday, March 14, 2019

De Quervain의 발음에 대하여

노뼈붓돌기힘줄윤활막염[드퀘르벵](Radial styloid tenosynovitis[de Quervain])

용어에 웬만하면 사람 이름 붙이지 말자는 그런 얘기는 건너뛰기로 하고...
상병코드 일람표 등에 나오는 '드퀘르벵'이라는 표기에 대해서만 써 본다.

이 이름의 발음이 어려운 것은 아마 이 사람의 국적 때문일 것이다. De Quervain은 스위스 사람이었는데, 스위스는 공용어만 4개인(프랑스어, 독일어, 이탈리아어, ...) 나라이다. 또 그의 first name은 Fritz여서 모국어로 뭘 썼는지 후대인으로서는 알 수가 없다(20세기 초반 학회에서 본 분이 계시다면 제보 바람). Von이 아니라 de가 붙은 걸 보면 조상은 프랑스계인 것 같긴 한데 후손이 모국어가 꼭 같으라는 법은 없으니 알 수 없다.

아무튼 상병코드 일람표 등에 나오는 '드퀘르벵'은 '헤르미온느' 급으로 애매한 표기라 할 만하다. 
프랑스어를 가정하고 읽는다면 [də kɛʁvɛ̃]으로, 통상적인 프랑스어 발음 규칙 그대로다.*
한글로 억지로 옮긴다면 드 께흐방 (외래어 표기법에서 허용하는 정도로 타협한다면 케르벵/뱅 정도**) 정도 될 것이다.
영어 식으로 읽으면 (어차피 잘못 읽는 거지만) 더(드) 쿼r베인 ("kwer-vein") 정도 될 것이다.
즉, quer의 u sound를 살리고자 한다면 마지막 음절이 벵이 될 수 없다는 얘기다.

* g/q -ue-의 u는 발음 안 한다. 스페인어(Miguel미겔, Rodriguez로드리게스)나 이탈리아어에도 비슷한 규칙이 있다. e/i 앞에서 g가 j sound가 나기 때문에 g sound를 구분하기 위해서 u를 쓴 데서 비롯했을 것이다. Diacritic 붙은 Güell은 구엘이다.
** 1) 무성음에 된소리를 쓰지 않고 거센소리만 사용, 2) r은 그냥 ㄹ로 씀(포르투갈어 Ronaldo는 호나우도라고 잘 쓰면서 왜 프랑스어에만 고집을 부리는지는 알 수 없지만 그냥 넘어가자). 3) ɛ̃은 실제로는 앵보다는 앙에 가깝게 들리는데, 이유는 모르지만 발음기호도 저렇게 쓰고(a가 아니라 epsilon 모양 위에 ~를 올려놓음), 한국의 외래어 표기법도 '앵'으로 옮기게 돼 있다. 그래서인지 Moulin rouge의 옛날 버전들은 '물랭루주'로, 비교적 최근의 영화는 '물랑루즈'로 번역돼서 나왔다(이건 영화가 프랑스 영화가 아니어서 그럴 수도 있다).

# 이 질환의 검사법으로 나오는 Finkelstein test의 Finkelstein도 성은 저래 보여도 first name이 "Harry"인 New York 출신 미국인이기 때문에 아마 휭켈슈타인이 아니라 핑클스틴일 것이다.

창 핸들을 만드는 동안 오류가 발생했습니다

System.ComponentModel.Win32Exception was unhandled   MyForm w = new MyForm IntPtr handle = wnd.Handle;   // Exception occurs here class MyFo...