var wChr: WideString;
begin
wChr:=TntRichEdit.SelText;
Edit1.Text := IntToHexStr(Ord(wChr[1]));
end;
이렇게 하니까 Unicode는 잘 나오는데, 그 유니코드에 해당하는 글자의 바이너리 DATA는 어떻게 얻나요?
하나의 폰트는 16x16 이나 32x32등으로 화면에 표시되는 것으로 아는데, 그 바이너리 코드를 얻고 싶습니다.
16x16 일 경우는 32byte의 바이너리 DATA가 나올것이고, 32x32 일 경우는 128byte 의 바이너리 DATA가
나올것 같은데, 어떻게 구하는 것인지....?
아무개 님이 쓰신 글 :
: function HanjaToAnsiUniCode(const Han: PChar): integer;
: var UniCode: Integer;
: begin
: MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, Han, 2, @UniCode, 1);
: Result := UniCode;
: end;
:
: procedure TForm1.Button2Click(Sender: TObject);
: var aa,Ln,UniCode: integer;
: begin
: Ln := Length(RichEdit1.Lines.Strings[0]);
: if (Ln < 2) and (ln > 2) then Exit;
: aa := HanjaToAnsiUniCode(PChar(RichEdit1.Lines.Strings[0]));
: Edit1.Text := IntToStr(aa);
: end;
:
: 한글이랑 한자는 UniCode가 나오는 것 같은데 중국어 한자는 자꾸 제대로 안나오네요.
: 리치에디터에 중국어 한자를 넣고 읽어서 위와같이 API 함수를 이용해서 UniCode를
: 시도했는데 0x3F만 나오네요. ㅠㅠ. 0x7D27 나와야 하는데 어떻게 해야하죠?
: WBCS나 MBCS를 먼저 뭔가 선언해주고 해야 하는건가요?
: 아시는분 답변 좀 부탁해요
:
: soft8051@hanmail.net
|