먼저.. 이건 명백한 C++ Builder 6.0의 버그입니다.
현상: Code Editor에서 Font를 FixedSys로 맞출 때 폰트 사이가 벌어지는 현상
원인: Code Editor에서는 고정폭 문자만을 사용하므로 Code Highlight에서 볼드타입의 문자를 쓰게 되면 볼드타입의 두께만큼 평균 문자폭이 증가됨. 따라서 볼드가 적용되지 않은 모든 폰트의 자간이 벌어지게되는 것이죠. 이건 정상적인겁니다. FixedSys의 경우 그 차이가 너무나 선명히 나타나기 때문에 문제가 되어보이는거죠.
원칙적인 해결방안: FixedSys타입의 문자는 문자 자체가 두껍기 때문에 보통 Bold를 적용하지 않습니다. 따라서 Bold속성을 모두 빼면 모든 자간이 좁혀져야 합니다. 실제로 VisualStudio형식으로 설정하면 모든 폰트의 Bold속성이 빠지므로 기존의 C++Builder 5에서는 제대로 동작했습니다.
버그: 문제는 C++ Builder6에서는 모든 폰트에서 Bold속성을 빼도 자간이 좁혀지지 않는것인데..
원인: Error Line에 대한 Bold속성 표시가 Disable되어 있으며, 실제 이 값은 'True'로 되어 있습니다. 눈으로 보기엔 Bold를 다 뺀 것 같지만 실제로는 Bold가 True인 부분이 남아 있다는 얘깁니다.
편법해결: Classic 타입으로 맞춘 후, 칼라값 변경.
편법해결의 문제점: 빌더에서 인식 못하는 일반 텍스트 파일을 코드에디트창에 던져보면.. 퍼런화면에 노랭이 글씨가 뜸.
따라서 원천적인 해결은:
1. C++ Builder에서 자기가 원하는 타입으로 하이라이트를 설정한 후, 폰트도 잘 바꾸고, 칼라도 잘 바꾸고.. 아무튼 할 수 있는건 다 한다.
2. C++ Builder 종료
3. regedit 실행
4. HKEY_CURRENT_USER\Software\Borland\C++Builder\6.0\Editor\Highlight\Error Line
5. Bold키값을 False로 설정하고 regedit를 닫는다.
6. C++ Builder를 다시 실행. 이젠 폰트가 이뿌게 나올겁니다.
담번 업데이트에서는 수정되어 나오겠죠. 귀찮지만 한 번만 해 주면 되는거니까.. 참고 쓸렵니다.
|