C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[18021] Re:Re:Re:Re:[질문]혹시 이런 현상에 대해 답해 주실 분...
공부중 [] 924 읽음    2002-04-29 14:00
또 다시 답변을 주셨군요. 감사합니다.

저도 영문권 개발환경에 대해서는 익히 알고 있습니다. 그래서 유영인 님의 의견에 전적으로 동감합니다. 아마도 아래 질문은 희망 사항을 적었다고 보였겠군요. 아래와 같은 문제를 해결할 방법을 몰라서 그런 건 아니었습니다. 이미 잘 알고 있고 해결했습니다만 BCB와 같은 전문 RAD툴이 2바이트 언어에 대한 배려가 버전 6가 될 때까지도 진전이 없었다는 점이 아쉽군요.

BCB는 최고는 아니지만 꽤 쓸만한 툴입니다. 그래서 애용하는 거구요. 계속해서 노력하면 언젠가 고쳐지리라 믿습니다. 다시 한 번 답변에 대해 감사드립니다.


유영인 [Chris] 님이 쓰신 글 :
: 안녕하세요
:
: 우선 안타까운 사실이지만 한가지 짚고 넘어가야 할 부분이 있습니다. BCB의 개발툴은 모두 영문 개발툴 입니다. 그렇기 때문에, 한글이나 일본어 및 중국어 등 2 Bytes 문자 지원은 완전하지 않아, 여타 부분은 프로그래머의 재량으로 해결해 나가야 한다는 것입니다. 물론, BCB는 해결할 수 있는 방안을 최대한 만들어 줍니다.
:
: 또한, 한글 폰트는 Width 가 각각 틀립니다. (고정폭 제외) 그렇기 때문에, DEFAULT_CHAR 로 설정시, 다른 언어에 맞춰 Display 한다는 것은 한글 폰트를 분석하고 각 해당 경우의 수를 Borland에서 측정하고 맞춰주지 않는한 불가능한 일일껍니다. 영문도 물론 가변폭 글꼴에 대해서는 Width가 일정하진 않지만, 그 경우의수가 많아야 표현할 수 있는 문자, 즉 100개 내외기 때문에 맞추기에는 그리 어렵지 않는 실정입니다.
:
: 폼에, 1 Byte 문자와 2 Bytes 문자를 각각 올려놓고, Charset을 살펴보면, 1 Byte 문자는 완벽히 소화해 내는것을 볼 수 있습니다. 하지만, 한글이나 여타 2 Bytes 언어를 보면 그렇지 않죠.
:
: 또한, BCB 이전버젼에서는 프로젝트, 파일등도 한글 디렉토리나 띄어쓰기가 있는 디렉토리에 저장하지 못했습니다. 이건 델파이도 마찬가지 입니다. 하지만, 이것도 역시 2 Bytes 권 나라의 프로그래머들의 건의로 점점 바뀌어 나가고 있는 추세지요.
:
: 제 견해는, BCB는 2 Bytes 권 문자 나라의 개발에 있어서 좌절적인것은 아닙니다. 아니, 개발에 절대 문제가 될 것이 없습니다. 하지만, 1 Byte 권 나라 보다는 손이 많이 가는것이 현실적이죠. 저도 공부중 님과 같이 2 Bytes 권 문자들을 완벽히 지원해주기를 바라고, 이것은 어떤 BCB 프로그래머도 마찬가지 일껍니다.
:
:
:
: 공부중 님이 쓰신 글 :
: : 우선 답변에 감사드립니다.
: : 읽은 분은 많은데 답변이 없어서 내심 조바심이 났습니다.
: :
: : 첫번째 답변은 적당하지 않은 것 같습니다. 그럼 델파이도 안되어야 하는 거 아닙니까? 같은 회사의 제품인데 BCB만 안된다는 것은 문제가 있다고 봅니다(품질 관리가 안된다는 이야기죠). 그리고 경로라는 것은 파일 시스템인데 운영체제의 표준을 따르지 않는다는 것은 문제가 있다고 봅니다. 현재 제가 알기론 리소스DLL 저장을 제외하곤 BCB에서 프로젝트, 파일, DFM 등 여타의 것을 2바이트 문자로 이루어진 경로에 저장할 수 있습니다.
: :
: : 두번째 답변은 2000의 문제만은 아닌 것 같습니다. 왜냐하면 함께 작업하는 분들의 경우 98에서는 이런 현상이 없고 NT 계열(NT4, 2000, XP)에서 이런 문제가 생깁니다. 제가 알기론 같은 OS에서 실행한다고 가정할 때 사용하고자 하는 폰트가 없을 때 대체글꼴이 사용되는 것으로 알고 있습니다. 폰트가 없음으로 인해 발생할 수 있는 문제를 막기 위해서 이지요. DEFAULT_CHAR는 이런 경우를 위해 정해 놓은 것입니다. 즉, OS 디폴트라는 것이지요. 한글 OS가 아니라면 문제가 다르지만 그렇지 않다면 적절하게 처리해 주는 것이 당연합니다. 그리고 이건 별 문제가 아니라고 넘어가더라도 글자가 커지는 현상은 있어서는 안되는 현상입니다. 이 현상이 매번 일어나는 현상이 아니라는 점을 다시 한 번 강조해서 알려드리고 싶네요. 먼저 예제로 들었던 TLabel 테스트는 DEFAULT_CHAR 조건에서 98에서는 전혀 문제가 없습니다. NT 계열에서만 엉뚱한 현상이 발생한다는 것이지요.
: :
: : 그리고 Memproof 등으로 분석해 보시면 알겠지만 VCL 라이브러리에는 리소스 해제가 안되는 문제가 많이 있습니다. 이런 문제로 인해 과다한 시스템 리소스를 소모하는 경우도 종종(이것도 경우에 따라 다릅니다. 즉 예측이 불가능하다는 겁니다.)있습니다.
: :
: : 프로그래머 입장에서는 이런 문제는 편의의 문제가 아니라 기본 요건이라는 생각이 드는군요.
: : 다른 분들 의견은 어떤 지 모르겠네요. 저도 BCB를 애용하는 프로그래머로서 드리는 말씀입니다.
: :
: :
: :
: : 유영인 [Chris] 님이 쓰신 글 :
: : : 첫째, 경로는 한글 경로는 되도록 사용을 자제하시는 것이 좋습니다. 이건 BCB만의 문제가 아닌, VC도, 다른 몇몇 언어들도 마찬가지 입니다. (VB 의 경우는 꽤 잘 되는것 같더군요)
: : :
: : : 둘째, 이 문제는 2000에서 개발할 때 생기는 문제 같네요. 영문 폰트의 경우에는 HANGEUL_CHARSET가 아닌 ANSI_CHARSET 으로 해야합니다. 이것은, 폰트분석을 통해서 어떤 CHARSET을 사용할지 알 수 있습니다. 정확하지 않은 CHARSET일 경우 다르게 표시되는것은 어떤 측면에서 본다면 당연한 일입니다.
: : :
: : :
: : : 저는 위의 기능들을 버그라고 생각하지는 않습니다. 몇몇 언어가 사용자들의 이해와 편의를 위하여 제공한 기능들이, 어느새 당연시하게 프로그래머에게 인식이 되어버린것 같습니다.
: : :
: : : 답변은 아니지만.. 참고가 되시길 바라며..
: : :
: : :
: : : 공부중 님이 쓰신 글 :
: : : : 안녕하세요...
: : : :
: : : : BCB6를 쓰면서 이상한 점이 있어서요.
: : : :
: : : : 첫째, Resource DLL Wizard를 실행하고 경로 입력하는 부분에서 .bpr 파일이 위치한 파일의 경로가 한글이면 다음으로 진행이 안되더군요. 혹시나 해서 델파이에서도 해 보았는데 거기서는 넘어 가더군요. 영문일 경우는 BCB6도 되나, 한글일 때는 아무리해도 안되요. 한글 경로를 인식 못하는 거 같더군요. 예전에 BCB3일 때도 그러더니...
: : : :
: : : : 둘째, BCB를 다룰 때 겪는 이상한 문제 중 하나가 폰트 속성 중 DEFAULT_CHAR 속성으로 한 채 기본적으로 정의된 폰트(MS San Serif, Size 8)를 사용하여 TLabel이나 TButton 등을 사용하면 어느 순간(매번 일어나는 것은 아니라서) 글자가 커지는 현상이 일어나요. 98에서는 폰트가 모양이 바뀌는 현상으로 나타나지요. 저만 겪었나요? 버전에 관계없이 계속 나타나는 현상이던데.. 이런식으로 작성된 소스를 컴파일하면 실행할 때 글자가 커지는(또는 깨지는) 현상이 나타납니다. 이를 해결하는 방법으로 많이 제시되는 의견이 HANGEUL_CHAR(완성형)으로 바꾸라는 것입니다. 이럴 경우 일괄적으로 폰트의 모양이 한글을 기준으로 바뀌기 때문에 영문은 다른 폰트를 쓰고자 하는 사람에게는 해결책이 안됩니다. 정말 이상한 건 DEFAULT_CHAR 속성으로 한 채 폰트 크기를 10 이상의 크기로 하고 한글을 적고 Form의 정확히(!) 0,0 위치에 두면 글자가 작아집니다. 다른 위치에서는 제대로 보여요.(델파이도 마찬가지) 한 번 해보세요.
: : : :
: : : : 예)
: : : : Form1.h
: : : : ...
: : : : TLabel *Label1;
: : : : ...
: : : :
: : : : Form1.cpp
: : : : ...
: : : : Label1->Caption = "가나다라";
: : : : Label1->Size = 32;
: : : : ...
: : : :
: : : :
: : : : 전에 비트맵 헤더를 정의한 헤더 파일에 이상이 있어 에러가 난다는 분의 글도 읽은 적도 있고 해서...
: : : :
: : : : 제 견해로는 아직 BCB6가 BCB5보다 버그가 많은 것 같아요.
: : : :
: : : : 아시는 분은 답글 좀 올려 주세요.

+ -

관련 글 리스트
17974 [질문]혹시 이런 현상에 대해 답해 주실 분... 공부중 810 2002/04/26
17992     Re:[질문]혹시 이런 현상에 대해 답해 주실 분... 유영인 [Chris] 785 2002/04/27
18008         Re:Re:[질문]혹시 이런 현상에 대해 답해 주실 분... 공부중 726 2002/04/29
18018             Re:Re:Re:[질문]혹시 이런 현상에 대해 답해 주실 분... 유영인 [Chris] 984 2002/04/29
18021                 Re:Re:Re:Re:[질문]혹시 이런 현상에 대해 답해 주실 분... 공부중 924 2002/04/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.