Q&A

  • 일본어가 깨져요..
프로그램에서 다국어를 지원하기 위해

텍스트 파일(ini)에서 해탕 텍스트를 읽어서 화면에 글자를 보여주게 됩니다.

영어나 한글은 잘되지만.. 일본어로 작성을 했을경우.. 깨집니다.

일본어 OS win98에서 실행했을때는 Charset = SHIFTJIS_CHARSET

로 해서 문제 없는데 일본어win2000 pro에서 실행했을때는 다 깨지는군요..

오히려 한글윈도우에서 보는것보다 더심함니다.


이런경우에는 어떻게 해야 하는지요..

스크립트 작성을 일본어OS에서 입력해야 합니까?

경험있으신분 조언 부탁드립니다. ^^


1  COMMENTS
  • Profile
    남양원 2004.02.18 00:05
    프로그램에서 다국어 지원하기 위해서는

    각 언어별 OS가 가지고 있는 Font가 각 언어별 OS마다 존재하는 폰트이거나

    존재하지 않는 폰트가 있다는 것을 먼저 알고 있어야 합니다.

    그럼, 일본어 win98에서는 존재하는 폰트가 win2000pro에 없을 수 있다는 것을 알게 됩니다.

    그럼, 프로그램에서 어떻게 각 다국어 폰트가 깨지지 않게 보일 수 있을 까 하는 문제를 생각합니다.

    모든 OS에서는 System Font가 있습니다. 이 폰트는 윈도우 기본 폰트이므로

    이 폰트를 사용하여 다국어 지원을 하면 글자가 깨지는 현상이 없겠죠.

    방법은 생성하는 모든 폼의 Create 시 다음의 코드를 넣어 주시고 각 폼의 parentfont 속성을 True로 지정해야 합니다.


    procedure Form1.Create(Sender: TObject);
    begin
      Self.Font.Assign(Screen.MenuFont);

    end;

    여기서 문제는 이렇게 하면 Label1.Font.Style = [fsBold]로 한 속성이 있다면 그건 Self.Font.Assign(Screen.MenuFont);
    코드 다음에 다시 지정해야 합니다.

    그럼, 즐프하세요.