성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
[정성태] 만드실 수 있습니다. 단지, Unity 엔진 내의 스크립트와 W...
[공진영] 안녕하세요 좋은글 감사합니다. 현재 제가 wpf로 관제 모...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>Visual Studio - 영문 폰트가 Fullwidth Latin Character로 바뀌는 문제</h1> <p> 얼마 전부터 비주얼 스튜디오를 사용할 때마다 자꾸만 영문 폰트가 이상해지는 현상이 발생했습니다. 뭐랄까, 일반 글씨체는 아니고, 약간 넓은 글씨체라고 해야 할까요,,, 설명이 어려우니 ^^ 아래의 그림으로 실어봤습니다.<br /> <br /> <img alt='vs_font_cs1056_1.png' src='/SysWebRes/bbs/vs_font_cs1056_1.png' /><br /> <br /> 첫 번째 라인은 정상 텍스트인 반면, 두 번째 라인은 영문만 폰트가 뭔가 이상합니다. 그래서 (당연하겠지만) 컴파일을 하면 "Error CS1056 Unexpected character '...'"가 발생하게 됩니다.<br /> <br /> 비주얼 스튜디오를 종료하고 다시 시작하면 폰트가 정상적으로 돌아왔기 때문에 그냥 무시하고 있다가... 자꾸 저런 현상이 발생해서 ^^; 원인을 분석해 봤습니다.<br /> <br /> 우선, 비정상 텍스트와 정상 텍스트가 포함된 텍스트 파일을 만들고,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > client client </pre> <br /> 저장한 다음 hexa 값을 봤더니 이렇게 나옵니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > EF BB BF // Byte order mark c l i e n t 63 6C 69 65 6E 74 c l i e n t EF BD 83 EF BD 8C EF BD 89 EF BD 85 EF BD 8E EF BD 94 </pre> <br /> 'c' 글자 하나가 "EF BD 83" 3바이트로 이뤄지고 있습니다. 0xefbd83을 유니코드로 검색하면,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Unicode Character 'FULLWIDTH LATIN SMALL LETTER C' (U+FF43) ; <a target='tab' href='https://www.fileformat.info/info/unicode/char/ff43/index.htm'>https://www.fileformat.info/info/unicode/char/ff43/index.htm</a> </pre> <br /> 위의 글자가 UTF-8 인코딩된 것이었습니다. 이 정보를 바탕으로 다시 검색해 보니 Visual Studio Code에서도 유사한 현상이 있었다고 합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > How to switch between fullwidth and halfwidth in Visual Studio Code? ; <a target='tab' href='https://stackoverflow.com/questions/72759250/how-to-switch-between-fullwidth-and-halfwidth-in-visual-studio-code'>https://stackoverflow.com/questions/72759250/how-to-switch-between-fullwidth-and-halfwidth-in-visual-studio-code</a> </pre> <br /> 그런데... 답이 없군요. ^^; 그러다 작업 표시줄의 IME 창에 눈길이 갔습니다. 오호... "Character width (Full)" 설정이 돼 있는 것입니다. <br /> <br /> <img alt='vs_font_cs1056_2.png' src='/SysWebRes/bbs/vs_font_cs1056_2.png' /><br /> <br /> 이 값을 "Half-width"로 바꾸면 정상적으로 ASCII 폰트로 돌아옵니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 그나저나 이상하군요, 왜 자꾸 갑자기 저 폰트로 바뀌는 걸까요? 분명히 저는 마우스로 저 메뉴를 직접 바꾼 적이 없습니다. 검색해 보면, 이에 대한 단축키로 Shift + Space가 설정돼 있다고 하는데 제 컴퓨터에서 해보면 해당 키 조합이 먹히지 않습니다. (그냥 스페이스가 입력됩니다.)<br /> <br /> 그러니까, 설령 우연이라도 저 키 조합을 눌렀다고 해도 Fullwidth/Halfwidth 설정이 토글되었을 것 같지는 않습니다. 이에 대한 단축키를 찾아보면,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Simplified Chinese MSPY 3.0 IME Hot Key Registry Settings (Windows CE 5.0) ; <a target='tab' href='https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms904626(v=msdn.10)'>https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms904626(v=msdn.10)</a> </pre> <br /> "HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000011" 레지스트리 키 경로가 그에 대한 단축키라고 합니다. 제 컴퓨터 설정을 보면,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Key Modifiers: 04 C0 00 00 Target IME: 00 00 00 00 Virtual Key: 20 00 00 00 // Registry: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys // <a target='tab' href='https://renenyffenegger.ch/notes/Windows/registry/tree/HKEY_CURRENT_USER/Control-Panel/Input-Method/Hot-Keys/index'>https://renenyffenegger.ch/notes/Windows/registry/tree/HKEY_CURRENT_USER/Control-Panel/Input-Method/Hot-Keys/index</a> // Target IME: 00 00 00 00 for all languages(?) // Key modifiers // 01: Left alt // 02: control // 04: shift (<a target='tab' href='https://doxygen.reactos.org/d6/d69/imm_8h.html'>MOD_SHIFT</a>) </pre> <br /> 04가 Shift 키에 해당하고 <a target='tab' href='https://learn.microsoft.com/ko-kr/windows/win32/inputdev/virtual-key-codes'>Virtual Key 20은 Space 키</a>가 맞습니다. 단지, Key Modifiers에 "C0"이 있어서 그런지 어쨌든 Shift + Space 키는 Fullwidth/Halfwidth에 대한 토글키로는 동작하지 않습니다.<br /> <br /> 일단... 오늘은 여기까지만! ^^<br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1924
(왼쪽의 숫자를 입력해야 합니다.)