KR100584038B1 - 큰 문자 세트 브라우저 - Google Patents

큰 문자 세트 브라우저 Download PDF

Info

Publication number
KR100584038B1
KR100584038B1 KR1020037008466A KR20037008466A KR100584038B1 KR 100584038 B1 KR100584038 B1 KR 100584038B1 KR 1020037008466 A KR1020037008466 A KR 1020037008466A KR 20037008466 A KR20037008466 A KR 20037008466A KR 100584038 B1 KR100584038 B1 KR 100584038B1
Authority
KR
South Korea
Prior art keywords
character
unicode
processor
code format
file
Prior art date
Application number
KR1020037008466A
Other languages
English (en)
Other versions
KR20030072574A (ko
Inventor
수유헹
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20030072574A publication Critical patent/KR20030072574A/ko
Application granted granted Critical
Publication of KR100584038B1 publication Critical patent/KR100584038B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

많은 문자는 크게 복잡함이 없이 문자 코드에 의하여 표현될 수 있다. 예컨대, 유니코드에 의하여 이미 표현된 문자는 유니코드 시스템에 따라 하나의 16비트 코드내로 처리될 수 있다. 유니코드에 의하여 표현되지 않는 문자는 제 2의 방식으로 처리될 수 있다. 유니코드에 의하여 표현되지 않는 문자는 두개의 16비트 코드에 의하여 표현될 수 있다.
Figure 112003022200610-pct00001
유니코드, 하이퍼텍스트 생성 언어, ISO-2022CN 및 ISO-2022CN확장 포맷, 대용 메커니즘, HTML파싱

Description

큰 문자 세트 브라우저{LARGE CHARACTER SET BROWSER}
본 발명은 일반적으로 인터넷 브라우저에 관한 것이고 특히 많은 문자를 지원하는 브라우저에 관한 것이다.
인쇄물로서 또는 컴퓨터 모니터에 디스플레이된, 텍스트 데이터는 2진수 코드 형태로 엔코딩된다. 키보드에서 주어진 키를 쳤을때, 그 키의 문자 코드가 발생된다. 그 다음에 컴퓨터는 동일한 문자 코드를 가진 저장된 폰트 파일로 부터 적당한 문자 모양을 선택하기 위하여 그 문자 코드를 사용한다.
영문 퍼스널 컴퓨터 시스템은 일반적으로 7비트의 문자 코드를 채용한다. 이 코드는 약 128항목의 대소 라틴문자, 아라비아 숫자, 기호 및 제어 문자의 문자 세트를 고려한 아스키(ASCII: American Standard Code for Information Interchange)(ANSIx3.4-1996)에 따라 코드화되었다.
중국어, 일본어 및 한국어(CJK)는 수십만문자정도의, 비교적 많은 수의 문자를 가지고 있다. 이 문자들은 본질적으로 그리고 그 자체에서 7비트 아스키 문자 코드의 용량을 훨씬 초과한다.
예컨대, 일본의 퍼스널 컴퓨터는 현재 6,879개의 문자만을 수용하는 일본 산업 표준(JIS: Japanese Industrial Standard)X0208-1990을 이용한다. 이것은 많은 기본적인 기능에 충실한 반면, 사람의 이름, 장소명, 역사적 데이터 및 여타 정보를 기록하기에는 불충분할 수 있다.
기존 CJK 문자 세트는 이용가능한 문자 세트로 제공되므로 다양한 중요한 정보를 제공하는데 불충분하다. 예컨대, 넷스케이프 커뮤니케이터 웹 브라우저에 의해 사용되는 GB-2312 및 Big-5 문자 세트로는, 약 16,000개의 문자만을 이용할 수 있다.
그 결과, 국제 표준화 기구는 7 비트 및 8 비트 문자 코드가 조직되는 방식의 개요를 정한 ISO-2022라 불리는 표준을 발표했다. 중국어 버전은 RFC(Request for Comments)1922(네트워크 워킹 그룹, 1996)에 개시된 ISO-2022-CN이다.
소위 단일화 코드 또는 유니코드는 모든 세계의 문자 세트를 하나의 큰 문자 세트로 통합하기 위하여 여러 미국의 소프트웨어 회사에 의해 개발되었다. 제네바, 스위스 국제 표준화 기구 ISO/IEC 10646-1(1993)를 참조하라. 유니코드는 16비트나 최대 65,536개의 문자로 문자 세트 공간을 제한한다. 이 문자 공간은 각각의 문자가 16비트나 2바이트의 고정 길이 코드로 표현되어야 함을 의미한다. 그러나, 유니코드에 의해서도, 전체 65,536개의 문자만을 허용하는 문자 세트를 사용하므로 수십만개의 CJK 문자를 포함하여, 세계 모든 문자가 표현될 수는 없다.
예컨대, 유니코드는 CJK언어에서 온라인 디지털 라이브러리의 제작을 고려하지 않는다. 이러한 라이브러리는 사용되었던 모든 문자를 포함하는 온전한 문자 세트를 필요로 할 수 있다. 더욱이, CJK국가에 있는 수많은 사람과 장소의 개인명 및 장소명을 기록하는 기능은 중요하다. 그 결과, 유니코드는 CJK문자 세트를 문 화적으로 완전한 방식으로 처리하는데는 부적합하다. CJK언어 사용자는 훨씬 적은 문자 세트를 처리할 수 있는 반면, CJK언어의 표현과 다양성은 이용가능한 문자 코드에 의하여 심히 제한될 수 있다.
따라서, 특히 CJK언어와 관련한 사용을 위하여, 많은 수의 문자를 이용가능하게 하는 문자 세트를 처리하는 보다 나은 방식이 요구된다.
도 1에 나타난 웹브라우저(12)는 보다 큰 문자 세트를 위한 필요에 대하여 플랫폼 수준의 솔루션을 제공한다. 웹 브라우저(12)는 임의의 웹기반 애플리케이션을 위한 유니버셜, 크로스 플랫폼 사용자 인터페이스로서 제공될 수 있다. 브라우저(12)는 큰 문자 세트가 모든 웹기반 애플리케이션을 효과적으로 지원할 수 있도록 한다.
소스 하이퍼텍스트 생성 언어(HTML)파일은 블록(10)에 나타난 바와 같이 ISO-2022CN 및 ISO-2022CN확장 포맷에 따라 엔코딩된다. 브라우저(12)에서, 그 파일은 유니코드2.0(ISO/IEC 10646 및 RFC2152(1996))의 대용(surrogate) 메커니즘의 지원을 포함하도록 확장된 유니코드 포맷으로 변환된다. 유니코드의 대용 메커니즘은 유니코드를 백만개의 유일한 문자의 문자 세트를 인식하기에 충분한 용량으로 유니코드를 확장한다. 기존 유니코드 표준은 16비트의 문자 길이를 사용하므로, 16비트 값은 65,536개의 문자만을 제공할 수 있다.
따라서, ISO-2022-CN및 CN확장 포맷은 블록(14)에 나타난 바와 같이 대용 메커니즘 지원을 구비한 유니코드로 변환된다. 유니코드 표준으로 이미 정의된 CJK 문자는 16비트 유니코드값으로 변환된다. 유니코드 표준에 의하여 정의되지 않은 나머지 문자는 두개의 16비트값으로 변환된다. 본 발명의 일 실시예에서, 두개의 16비트 값의 각각은 각각 0xD800부터 0xDB00까지 및 0xDC00부터 0xDFFF까지의 범위에 있다. 이것은 확실히 대용 메커니즘의 유니코드 정의와 일치한다.
브라우저(12)는 블록(16)에서 나타난 바와 같이, HTML파싱과 같은, 웹콘텐츠 파싱을 한다. 그 후, 나머지 렌더링 단계가 블록(18)에 나타난 바와 같이 완성된다.
브라우저(12)가 특별한 텍스트열을 렌더링할 준비가 될때, 브라우저(12)는 문자열내의 문자의 각각을 루핑한다. CJK언어를 위하여, 제 1 탐색은 블록(20)에서 나타난 바와 같이 알려진 CJK 폰트 라이브러리에서 폰트를 찾는다. 알려진 CJK 폰트 라이브러리는 Guo-jiu Biao-zhun("Coding of Chinese Ideogram Set for Information Interchange Basic Set", GB-2312-80), Big-5(Institute for Information Industry, "Chinese Coded Character Set in Computer", 1984년 3월), GBK("Information Technology"Universal Multiple-Octet Coded Character Sets, GB 13000) 및 GB18030라이브러리를 포함한다. 알려진 CJK폰트 라이브러리에 포함되지 않는 문자를 위하여, 렌더링 엔진은 보다 큰 문자 세트를 포함하는 폰트 라이브러리를 찾는다. 적당한 폰트 디스플레이 드라이버가 블록(22 및 24)에 나타난 바와 같이 사용된다.
HTML콘텐츠를 엔코딩하기 위하여 직접 유니코드로 엔코딩하는 것 보다 ISO-2022컨버터를 사용함으로써, 7비트 엔코딩 메커니즘이 사용될 수 있다. 7비트 엔 코딩 메커니즘의 사용은 CJK문자가 인터넷과 같은 기존의 또는 미래 통신 인프라 네트워크에 의해 제거될 것 같지 않게 한다. 7비트 정보는 전송된 경우에도, 단말 디스플레이를 위한 문자로서, 파일 콘텐츠로서, 이메일 콘텐츠로서 또는 웹 콘텐츠로서 유지할 것이다. 블록(30)에서 나타난 바와 같이, 그 다음에 텍스트 콘텐츠는 디스플레이 스크린상에 디스플레이된다.
CJK문자가 이용되지 않을때, 정상 아스키 문자열이 블록(26)에서 나타난 바와 같이 이용된다. 그 다음에, 아스키 문자 세트 폰트 디스플레이 드라이버가 블록(28)에 나타난 바와 같이 사용된다.
도 2를 참조하면, 프로세서 기반 시스템(32)은 데스크탑 컴퓨터, 랩탑 컴퓨터, 핸드헬드 컴퓨터, 휴대폰, 셋톱 박스 등과 같은 장치일 수 있다. 프로세서(34)는 브리지(36)에 연결된다. 브리지(36)는 시스템 메모리(38)와 디스플레이(40)사이에 연결된다. 디스플레이(40)는 컴퓨터 모니터, 액정 디스플레이 또는 심지어 텔레비전 수신기일 수 있다.
브리지(36)는 또한 또다른 브리지(44)를 연결하는 버스(42)에 연결된다. 브리지(44)는 하드 디스크 드라이브(46)나 다른 저장장치에 연결될 수 있다. 기타 가능한 저장 장치는 플래시 메모리 및 재기록 가능한 디지털 비디오 디스크 드라이브를 포함한다. 저장장치(46)는 동작전에 브라우저(12)를 저장한다. 동작시에 브라우저(12)는 시스템 메모리(38)에 전달된다.
브리지(44)는 또한 또다른 버스(48)에 연결된다. 버스(48)는 직렬 입/출력(SIO) 디바이스(50)를 연결할 수 있다. SIO디바이스(50)는 프로세서 기반 시스템(32)을 위한 인터넷 접속을 제공하는 모뎀에 연결할 수 있다.
중국어 웹 페이지 콘텐츠는 알려진 중국 문자 세트 표준에 따라 엔코딩된 중국어 텍스트 문자열과 영어HTML태그로 구성된다. 웹 페이지가 브라우저에서 판독될때, 영어 태그와 엔코딩된 중국어 텍스트 문자열을 포함한 모든 콘텐츠는 먼저 유니코드 텍스트 문자열로 변환된다. 그 다음에 이 유니코드 텍스트 문자열은 HTML파서에 의하여 파싱되고 문서 객체 모델이 웹 페이지의 추상 데이터 구조를 표현하도록 구축된다. 그 다음에 HTML태그와 관련된 포맷과 폰트를 사용하는 페이지의 각각의 엘리먼트를 방문하고 렌더링하기 위하여 문서 객체 모델을 통하여 들어가도록하는 렌더링 엔진이 적용된다.
렌더링 프로세스동안, 렌더링 엔진은 한번에 하나의 유니코드 문자를 렌더링할 것이다. 각각의 특별한 유니코드 문자에 대하여, 렌더링 엔진은 주어진 유니코드 문자에 대한 폰트가 주어진 폰트 화일에서 이용가능한지 여부를 알아보기 위하여 폰트 화일의 가용성 인덱스 매트릭스에 대한 신속한 체크를 한다. 문자가 폰트 화일에 존재하지 않으면, 렌더링 엔진은 가능한한 그 폰트와 비슷한 폰트를 찾기 위하여 다음 폰트 화일을 탐색한다.
그 문자에 대응하는 폰트가 발견되면, 그 문자의 유니코드는 국가 문자 세트 엔코딩으로 역변환되고, 이 엔코딩의 값은 주어진 폰트 화일에서 문자의 폰트 바이트의 옵셋을 인덱싱하기 위해 사용된다. 그 다음에, 렌더링 엔진은 폰트 바이트를 페칭하고 레이아웃 엔진에 의하여 계산된 주어진 위치에 문자에 대한 그리프 이미지를 생성한다.
이 프로세스동안, 두 단계의 문자 세트 변환이 있다. 일 단계는 웹페이지 소스를 파싱전에 유니코드로 변환하는 것이다. 나머지 단계는 문자 세트 엔코딩값이 폰트 화일의 폰트 정보를 페칭하기 위한 인덱스로서 사용될 수 있도록 텍스트 문자열에 있는 각각의 유니코드 문자를 문자 세트 엔코딩 표준으로 변환한다.
예컨대, 소스 웹 페이지가 중국 문자 콘텐츠가 GBK엔코딩으로 엔코딩된 HTML페이지이면, 웹 페이지가 브라우저에서 판독될때, 영어HTML태그와 GBK엔코딩의 중국어 텍스트 문자열은 유니코드 변환기를 거치고, 거기에서 각각의 중국어 문자(16비트 GBK코드)는 직통식 일대일 매핑 테이블에 의하여 유니코드로 변환된다. GBK코드 자체는 인접블록에 있다. 따라서, 매핑 테이블은 약 21,000개의 엔트리를 갖는 1차원 어레이이고 GBK코드는 간단한 계산후에 이 어레이의 인덱스로서 사용될 수 있다. 이 프로세스는 효율적이고 2x21,000바이트의 어레이를 저장하는 것을 포함한다. 관련된 복잡한 탐색은 없다.
지금 유니코드로서 엔코딩된 문자를 렌더링하기 위하여, 유니코드를 사용하여 직접 폰트화일을 인덱싱하거나, 유니코드는 그 유니코드와 관련된 폰트 화일을 가지는 또다른 엔코딩으로 역변환된다. 중국 문자를 위해, 유니코드는 하나의 인접 블록에서 중국 문자를 나타내지 못하므로, 폰트는 인접 블록에서 정렬되고, 특정한 표준의 레이아웃 순서를 따른다. 이 경우에, 브라우저는 유니코드 문자를 표준중 하나로 역변환할 필요가 있다.
그러나, 유니코드를 GB2312나 BIG5, 또는 GBK과 같은 표준으로 변환하는 것은 GBK를 유니코드로 변환할때 관련된 직통식 배열 인덱싱을 사용하여 수행될 수 없다. 전체 유니코드 표준의 크기를 가지는 또다른 매핑 테이블이 만들어질 수 있거나 GBK-유니코드 매핑 테이블의 탐색을 통하여 역변환이 수행된다.
약 21,000개의 중국 문자를 지원하고 GBK를 사용하여 중국어를 엔코딩하는 브라우저에 대하여, GBK-유니코드 매핑 테이블은 약 2x21,000바이트이고, 유니코드-GBK 매핑 테이블은 약 2x65,000바이트의 크기를 가진다.
ISO-2022-CN-EXT나 GB 18030중 어느 하나로 엔코딩된 100,000개의 중국 문자를 지원하는 브라우저는 약 4x100,000바이트의 크기를 가지는 (대용 영역을 사용하여) 유니코드로 변환하는 매핑 테이블이 필요하다. 역매핑 테이블은 유니코드 대용이 약 1,000,000의 범위를 가지므로 약 4x1,000,000바이트의 크기를 가진다. 여기에서 유니코드 대용 영역은 그것이 표현하는 각각의 문자에 대하여 4바이트를 가지므로 2x대신 4x가 사용된다.
유니코드를 ISO-2022-CN-EXT나 GB18030으로 역으로 매핑하는 거대한 역매핑 테이블을 피하기 위하여, 원래의 ISO-2022-CN-EXT-유니코드 매핑 테이블(또는 GB18030-유니코드 매핑 테이블)은 역매핑을 수행하도록 탐색된다. 이것은 단지 프로세서 속도와 메모리를 상충한다.
유니코드에 의해 도입된 변환 문제는 중국 문자는 국가 문자 세트에서와 같은 동일 순서로 유니코드에 연속적으로 할당되지 않는다는 것이다. 유니코드 대용 영역은 100,000개의 중국 문자의 대부분이 유니코드 대용영역의 연속하는 레이아웃을 가지는 방식으로 사용될 수 있다. 역변환을 위한 거대한 매핑 테이블이나 프로세서 집중 탐색이 몇몇 실시예에서 필요가 없을 수 있다. 동시에, 유니코드값이 여전히 보통의 16비트 유니코드 범위(대용 영역에서의 것이 아니것)에 있는 중국 문자와 역방향 대응관계가 보존될 수 있다.
중국 문자가 여러 95x95 문자판(plane)으로 배치된, ISO-2022-CN-EXT에 따라 엔코딩되는 웹 페이지에 대하여, 100,000개의 중국 문자는 12개의 문자판에 배열될 수 있고, 각각의 문자판은 95행(0x20, 0x21,...., 0x7f) 및 95열(0x20, 0x21,...., 0x7f)을 가진다.
이러한 문자판은 ISO-2022문자판과 동일하다. 각각의 문자판은 9025((0x7f-0x20)x(0x7f-0x20)=95x95)문자를 가지고 있다. 12개의 문자판은 모든 중국 문자를 보유한다. 16개의 문자판은 약 150,000문자를 보유하고, 이것은 함께 더해진 모든 가능한 CJK 및 베트남 문자보다 많다.
유니코드의 대용 영역에서, 문자판은 95x95문자 문자판과 유니코드 사이의 매핑이 거대한 매핑 테이블이나 복잡한 탐색 알고리즘의 필요없이 간단하고 직통식이 되도록 레이아웃될 수 있다. 따라서, 문자판은 유니코드 대용 영역의 연속 영역에 연속적으로 매핑될 수 있다. 예컨대, 95x95문자의 제 1 문자판은 각각의 문자판과 대용 영역사이의 동일 (행, 열) 관계로써, 대용 영역의 제 1의 95행에 매핑될 수 있다. 문자판에 있는 열은 대용 영역에 제 1의 95행에 매핑될 수 있다. 95x95문자의 제 2 문자판은 문자판과 대용영역간에 동일 (행, 열) 관계로써, 대용의 제 2의 95열에 매핑될 수 있다. 문자판의 열은 대용영역의 제 1의 95 열에 매핑된다.
대용영역은 0xD800부터 0xDBff까지 총 1024개의 행을 가지고 있다. 그래서 95개의 열은, 각각의 문자판이 9025개의 문자를 가지고 있는, 10개의 문자판보다 약간 많은, 전체 97280(1024x95)개의 문자를 보유한다. 즉, 90,250개의 문자를 지원하기 위해, 구현을 위한 10개의 문자판의 중국 문자를 가지고, 대용영역의 10x95x950의 열에 매핑할 필요가 있다. 보통의 GBK영역에 기존 중국 문자(그것은 16비트 유니코드 영역에 매핑된다)를 가지고, 100,000개 이상의 문자가 지원된다.
문자판번호, 행번호 및 열번호(PRC)는 일 실시예에서 매우 간단한 방법으로 대용영역에 매핑될 수 있다. 유니코드 용어에서, 대용영역의 행과 열은 각각 상위 대용 및 하위 대용으로 불린다. 문자판, 행 및 열의 특성으로 부터, 대용영역 할당은 아래와 같다.
상위 대용=문자판 x 95 + 행번호
하위 대용=열번호
역매핑 알고리즘 역시 간단할 수 있다. 대용영역에서의 알려진 유니코드 문자에 대한, 문자판에 있는 문자판 번호, 행번호 및 열번호는 아래와 같다.
문자판=(상위 대용-0xD800)%95
행=(상위 대용-0xD800)mod95+0x20
열=(하위 대용-0xDC00)+0x20
이 레이아웃 배열은 유니코드와 대응하고 역방향으로 양립가능하다. 그것은 16비트 영역에서 기존의 유니코드 할당과 겹치지 않는다. 새로이 도입된 문자는 어떠한 매핑 테이블과도 겹치지 않고 복잡한 변환 알고리즘이 필요없다. 어드레싱 모드(문자판, 행, 열)이나 (상위 대용, 하위 대용)중 어느것이라도 스크린 렌더링 이나 프린팅을 수행하는 동안 폰트 화일에 있는 문자를 위한 폰트를 직접적으로 인덱싱하기 위하여 사용될 수 있다. 시스템은 증량성으로 구현될 수 있다. 임의의 벤더는 문자의 변환, 렌더링 또는 다른 프로세싱을 방해함이 없이 지원된 문자판의 수를 감소시키거나 증가시킬 수 있다. 예컨대, 일 벤더는 16비트 GBK 및 16비트 유니코드의 구현에 부가하여 하나 이상의 95x95 문자판만을 구현하는 것을 원할 수 있다. 그래서 그 벤더는 약 29,000개의 문자를 지원할 수 있고, 이것은 GB18030표준에서 정의된 모든 27,000개의 문자를 지원하는데 충분하다.
매핑 테이블을 이용하여, 폰트 화일은 또한 사용이 쉬운 레이아웃으로 배열될 수 있다. 즉, 문자 자체는 유니코드 대용영역에서의 표현뿐 아니라 95x95문자의 각각의 문자판내부의, 인접 블록에 있기 때문에, 폰트 검색 메커니즘은 소스 HTML페이지가 유니코드 문자의 문자열로 파싱되었을때 문자의 스크린 렌더링 및 프린터 출력이 수행되도록 디자인될 수 있다. 16비트 범위내의 유니코드 문자에 대하여, 특정문자가 특정 국가 문자 세트 및 그 관련 폰트 화일에서 이용가능한지 여부를 알아보기 위하여 64K 매트릭스를 체크하는데 해시 함수가 사용될 수 있다. 이용가능하다면, 그 폰트가 사용되고, 이용가능하지 않다면, 문자는 다음의 국가 문자 세트에서 탐색될 수 있다. 사용자의 기호가 있으면, 디폴트 폰트 탐색 메커니즘이 오버라이팅될 수 있다.
대용영역내의 유니코드 문자에 대하여, 브라우저는 새로운 폰트 화일의 세트를 찾는다. 이 폰트 화일의 세트에서, 각각의 폰트 화일은 주어진 (95x95 문자의) 문자판에 있는 문자를 위한 폰트를 가진다. 대용영역에서의 각각의 유니코드 문자 는 원래의 문자판번호, 행번호 및 열번호의 위치를 알고 따라서 브라우저는 폰트를 찾기위한 폰트화일을 안다. 주어진 문자판내에서, 각각의 문자를 위한 폰트는 유니코드 문자의 (행, 열)값과 동일한 순서로 배열된다. 대용영역에서의 문자를 위해 매우 간단한 유니코드-행, 열 변환이 사용될 수 있으므로, 각각의 문자에 대한 폰트는 또한 유니코드 문자의 대용값쌍과 동일한 순서로 배열된다.
요약하면, 폰트 화일은 문자판으로 나뉘고, 일 실시예서 각각의 문자판은 95x95 문자에 대한 폰트를 가진다. 특정 문자에 대한 폰트는 그 (문자판, 행, 열)값으로 부터, 또는 간단한 계산에 의한 대용 유니코드 값으로 부터 직접 찾아질 수 있다.
예컨대, 문자판X, 행Y 및 열Z에서의 문자에 대하여, 28바이트를 가지는, 비트맵핑된 14x16폰트에 대하여, 폰트 화일 이름을 폰트문자판X라 할 것이다. 행과 열이 0부터 94까지라 가정하면 이 폰트 화일내부에, 문자를 위한 폰트의 개시 바이트는 28*(Y*95+Z)이다.
ISO-2022-CN 및 ISO-2022-CN-EXT는 우측 열에 나타난 문자 세트 지시자 시퀀스를 사용하여, 아래의 표의 좌측 열에 리스트된, 문자 세트를 엔코딩하기 위한 메커니즘을 정의한다.
문자 세트 문자 세트 지시자 시퀀스
GB2312 1B 24 29 41
CNS 11643-1992 문자판 1 1B 24 29 47
CNS 11643-1992 문자판 2 1B 24 2A 48
ISO-IR-165 1B 24 29 45
CNS 11643-1992 문자판 3 1B 24 2B 49
CNS 11643-1992 문자판 4 1B 24 2B 4A
CNS 11643-1992 문자판 5 1B 24 2B 4B
CNS 11643-1992 문자판 6 1B 24 2B 4C
CNS 11643-1992 문자판 7 1B 24 2B 4D
주어진 텍스트 문자열에서, 애플리케이션이 이러한 문자 세트 지시자 시퀀스중 하나를 보면, 모든 2개의 바이트가 문자 세트 지시자 시퀀스에 대응하는 문자 세트에서 단일 문자로서 조합되도록 순차의 텍스트 문자열을 해석하는 모드로 스위칭한다. 일 실시예에서 100,000개 이상의 문자를 엔코딩하기 위하여, 상기 문자 세트 지시자 시퀀스의 마지막 두개의 수는 확장될 수 있다.
문자 세트 문자 세트 지시자 시퀀스
새로운 문자판 0 1B 24 71 41
새로운 문자판 1 1B 24 71 42
새로운 문자판 2 1B 24 71 43
새로운 문자판 3 1B 24 71 44
새로운 문자판 4 1B 24 71 45
새로운 문자판 5 1B 24 71 46
새로운 문자판 6 1B 24 71 47
새로운 문자판 7 1B 24 71 48
새로운 문자판 8 1B 24 71 49
새로운 문자판 9 1B 24 71 50
새로운 문자판 10 1B 24 71 51
새로운 문자판 11 1B 24 71 52
새로운 문자판 12 1B 24 71 53
도 3에 따르면, 브라우저(12)를 구현하기 위한 소프트웨어(60)는 블록(62)에서 나타난 바와 같은 문자판, 행 또는 열(PRC)포맷으로 HTML웹페이지를 수신함으로써 개시한다. 문자판은 텍스트 문자열의 개시시에 문자 세트 지시자에 의하여 묵시적으로 표현되고 행과 열은 텍스트 문자열에서 두 바이트씩 표현된다.
문자 세트판이 변경될때마다, 판별블록(64)에서 판정되는 바와 같이, 새로운 문자 세트 지시자(CSG)가 블록(66)에 나타난 바와 같은 MOD변화를 나타내도록 삽입된다. 판별블록(68)에서 결정되는 바와 같이, ISO-2022-CN 및 ISO-2022-CN-EXT에 의하여 정의되는 문자에 대하여, 테이블 매핑은 블록(70)에서 나타난 바와 같은 16비트 유니코드 값을 매핑하는 데 사용될 수 있다. 그 이후에, 블록(72)에 나타난 바와 같이 렌더링된 단계는 완성된다.
100,000개 이상의 문자를 지원하는 브라우저에 대하여, 이러한 새로이 정의되고 엔코딩된 문자는 블록(74)에 나타난 바와 같은 대용영역에 매핑된다. 대용영역의 유니코드 문자에 대하여, 대용값은 문자판, 행 및 열의 원래의 값을 계산하기 위하여 사용될 수 있다. 그 다음에 브라우저는 블록(76)에 나타난 바와 같이 폰트 화일 내부에 있는 특정 문자의 폰트 바이트의 파일 위치와 옵셋을 발견하도록 지시된다. 그 다음에 블록(78)에 나타난 바와 같이 ISO-2022-CN-EXT위치 또는 대용영역에 매핑된 확장된 위치중 하나에 대하여 그리프 이미지가 생성된다.
본 발명이 한정된 수의 실시예에 대하여 기술되었으나, 당업자는 그로부터의 많은 변형과 변화를 이해할 것이다. 첨부된 청구항은 본 발명의 진정한 사상과 범위내에 속하는 모든 변형과 변화를 포함한다는 것을 이해하여야 한다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어의 순서도,
도 2는 본 발명의 일 실시예를 구현하기 위한 하드웨어의 블록도,
도 3은 본 발명의 일 실시예에 따른 소프트웨어의 순서도.

Claims (25)

  1. 문자를 포함하는 화일을 수신하는 단계,
    상기 문자가 제 1 타입이면 상기 파일을 제 1 코드 포맷으로 변환하는 단계, 및
    상기 문자가 제 2 타입이면 상기 파일을 제 2 코드 포맷으로 변환하는 단계를 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  2. 제 1 항에 있어서, 상기 화일을 수신하는 단계는 문자판, 행 및 열 포맷으로 웹페이지를 수신하는 단계를 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  3. 제 1 항에 있어서, 문자 세트판이 변경되었는지 여부를 판정하는 것을 체크하는 단계를 더 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  4. 제 3 항에 있어서, 상기 문자 세트판이 변경되면, 새로운 문자 세트 지시자를 삽입하는 단계를 더 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  5. 제 3 항에 있어서, 상기 파일에 있는 문자가 제 1 코드 포맷에 따라 정의되는지 여부를 판정하는 단계를 더 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  6. 제 5 항에 있어서, 상기 문자가 상기 제 1 코드 포맷에 따라 코딩되면, 유니코드 값을 상기 제 1 코드 포맷으로 테이블 매핑하는 단계를 더 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  7. 제 5 항에 있어서, 상기 제 1 코드 포맷이 이용되지 않았으면, 유니코드의 대용영역을 사용하는 단계를 더 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  8. 제 7 항에 있어서, 폰트 화일 위치와 옵셋을 발견하기 위하여 대용값을 사용하는 단계를 더 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  9. 제 7 항에 있어서, 폰트 화일을 문자판으로 나누는 단계를 더 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  10. 제 9 항에 있어서, 문자판, 행 및 열 정보로 부터 또는 대용 유니코드 정보로 부터 특정 문자를 위한 폰트를 선택적으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 문자 세트를 처리하는 방법.
  11. 프로세서 기반 시스템이,
    문자를 포함하는 화일을 수신하고,
    상기 문자가 제 1 타입이면 상기 화일을 제 1 코드포맷으로 변환하고, 그리고
    상기 문자가 제 2 타입이면 상기 파일을 제 2 코드포맷으로 변환할 수 있도록 하는 명령을 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  12. 제 11 항에 있어서, 상기 프로세서 기반 시스템이 웹페이지를 문자판, 행 및 열 포맷으로 수신할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  13. 제 11 항에 있어서, 상기 프로세서 기반 시스템이 상기 문자 세트판이 변경될때를 결정하는 것을 체크할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  14. 제 13 항에 있어서, 상기 문자 세트판이 변경되면 상기 프로세서 기반 시스템이 새로운 문자 세트 지시자를 삽입할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  15. 제 13 항에 있어서, 상기 프로세서 기반 시스템이 상기 파일에 있는 상기 문자가 상기 제 1 코드 포맷에 따라 정의되는지 여부를 판정할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  16. 제 15 항에 있어서, 상기 문자가 상기 제 1 코드 포맷에 따라 코딩되면 상기 프로세서 기반 시스템이 유니코드값을 상기 제 1 코드 포맷으로 매핑할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  17. 제 15 항에 있어서, 상기 제 1 코드 포맷이 이용되지 않으면 상기 프로세서 기반 시스템이 유니코드의 대용영역을 사용할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  18. 제 17 항에 있어서, 상기 프로세서 기반 시스템이 폰트 화일 위치와 옵셋을 발견하기 위하여 대용값을 사용할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  19. 제 17 항에 있어서, 상기 프로세서 기반 시스템이 폰트 화일을 문자판으로 나눌 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  20. 제 19 항에 있어서, 상기 프로세서 기반 시스템이 문자판, 행 및 열 정보로 부터 또는 대용 유니코드 정보로 부터 특정 문자에 대한 폰트를 선택적으로 결정할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  21. 프로세서, 및
    상기 프로세서에 연결된 저장장치를 포함하고, 상기 저장장치는 문자를 포함 하는 화일을 수신하고, 상기 문자가 제 1 타입이면 상기 화일을 제 1 코드 포맷으로 변환하고 그리고 상기 문자가 제 2 타입이면 상기 화일을 제 2 코드 포맷으로 변환할 수 있는 브라우저를 저장하는 것을 특징으로 하는 시스템.
  22. 제 21 항에 있어서, 상기 저장장치는 상기 프로세서가 문자판, 행 및 열 포맷으로 웹페이지를 수신할 수 있도록 하는 명령을 저장하는 것을 특징으로 하는 시스템.
  23. 제 21 항에 있어서, 상기 저장장치는 상기 문자가 제 1 코드 포맷에 따라 코딩되면 상기 프로세서가 유니코드값을 상기 제 1 코드 포맷으로 매핑할 수 있도록 하는 명령을 저장하는 것을 특징으로 하는 시스템.
  24. 제 21 항에 있어서, 상기 저장장치는 상기 제 1 코드 포맷이 이용되지 않으면 상기 프로세서가 유니코드의 대용영역을 사용할 수 있도록 하는 명령을 저장하는 것을 특징으로 하는 시스템.
  25. 제 21 항에 있어서, 상기 저장장치는 상기 프로세서가 문자판, 행 및 열 정보로 부터 또는 상기 대용 유니코드 정보로 부터 특정 문자를 위한 폰트를 선택적으로 결정할 수 있도록 하는 명령을 저장하는 것을 특징으로 하는 시스템.
KR1020037008466A 2000-12-27 2001-10-31 큰 문자 세트 브라우저 KR100584038B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/748,895 2000-12-27
US09/748,895 US7900143B2 (en) 2000-12-27 2000-12-27 Large character set browser
PCT/US2001/045675 WO2002052435A2 (en) 2000-12-27 2001-10-31 Large character set browser

Publications (2)

Publication Number Publication Date
KR20030072574A KR20030072574A (ko) 2003-09-15
KR100584038B1 true KR100584038B1 (ko) 2006-05-29

Family

ID=25011379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037008466A KR100584038B1 (ko) 2000-12-27 2001-10-31 큰 문자 세트 브라우저

Country Status (7)

Country Link
US (1) US7900143B2 (ko)
JP (1) JP2005501303A (ko)
KR (1) KR100584038B1 (ko)
CN (1) CN1524234B (ko)
AU (1) AU2002220113A1 (ko)
TW (1) TWI366769B (ko)
WO (1) WO2002052435A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915352B2 (en) * 2001-06-01 2005-07-05 Inventec Appliances Corp. Infrared transmission system with automatic character identification
US6996641B2 (en) * 2002-10-30 2006-02-07 Intel Corporation Apparatus and methods for keyboard data normalization
US7814415B2 (en) * 2004-11-19 2010-10-12 Red Hat, Inc. Bytecode localization engine and instructions
JP4558546B2 (ja) * 2005-03-11 2010-10-06 富士通セミコンダクター株式会社 文字コード変換装置、テーブル生成方法及びプログラム
US7831908B2 (en) * 2005-05-20 2010-11-09 Alexander Vincent Danilo Method and apparatus for layout of text and image documents
US8176128B1 (en) * 2005-12-02 2012-05-08 Oracle America, Inc. Method of selecting character encoding for international e-mail messages
US20080086694A1 (en) * 2006-09-11 2008-04-10 Rockwell Automation Technologies, Inc. Multiple language development environment using shared resources
US7786994B2 (en) * 2006-10-26 2010-08-31 Microsoft Corporation Determination of unicode points from glyph elements
CN101635622B (zh) * 2008-07-24 2013-06-12 阿里巴巴集团控股有限公司 一种网页加密和解密的方法、系统及设备
US20110115797A1 (en) * 2009-11-19 2011-05-19 Kaplan Gregory A Dynamic Streaming of Font Subsets
US8643652B2 (en) 2010-08-31 2014-02-04 Adobe Systems Incorporated Dynamic augmentation of extensible font subsets
TW201339861A (zh) 2012-03-30 2013-10-01 Ibm 提供較小目標編碼空間之碼轉換的方法、電腦裝置與程式產品
US9437019B2 (en) * 2012-10-01 2016-09-06 Facebook, Inc. Processing combining-character sequences
US9349202B1 (en) * 2012-10-01 2016-05-24 Amazon Technologies, Inc. Digital conversion of imaged content
CN104281601B (zh) * 2013-07-05 2018-09-25 北大方正集团有限公司 构建超大字库的方法及装置、字符显示方法及装置
JP6534862B2 (ja) * 2015-06-01 2019-06-26 河村電器産業株式会社 ラック監視システム
CN105512308A (zh) * 2015-12-11 2016-04-20 中国航空工业集团公司西安航空计算技术研究所 一种字库智能加速绘制方法
CN113609817B (zh) * 2021-08-12 2023-10-27 深圳市方直科技股份有限公司 非连续中英文字体样式的设置方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212769A (en) * 1989-02-23 1993-05-18 Pontech, Inc. Method and apparatus for encoding and decoding chinese characters
US5309358A (en) * 1992-02-18 1994-05-03 International Business Machines Corporation Method for interchange code conversion of multi-byte character string characters
US5870084A (en) * 1996-11-12 1999-02-09 Thomson Consumer Electronics, Inc. System and method for efficiently storing and quickly retrieving glyphs for large character set languages in a set top box
CN1055166C (zh) * 1997-01-07 2000-08-02 朱伟 电脑汉字规范码输入方法
IL121071A0 (en) * 1997-03-27 1997-11-20 El Mar Software Ltd Automatic conversion server
US6157905A (en) * 1997-12-11 2000-12-05 Microsoft Corporation Identifying language and character set of data representing text
US6397259B1 (en) * 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6204782B1 (en) * 1998-09-25 2001-03-20 Apple Computer, Inc. Unicode conversion into multiple encodings
US6631500B1 (en) * 1998-12-15 2003-10-07 International Business Machines Corporation Method, system and computer program product for transferring human language data across system boundaries
US6718519B1 (en) * 1998-12-31 2004-04-06 International Business Machines Corporation System and method for outputting character sets in best available fonts
US6314469B1 (en) * 1999-02-26 2001-11-06 I-Dns.Net International Pte Ltd Multi-language domain name service
US6512448B1 (en) * 1999-04-13 2003-01-28 Starmedia Network, Inc. Multilingual wireless messaging system
US6658625B1 (en) * 1999-04-14 2003-12-02 International Business Machines Corporation Apparatus and method for generic data conversion
US6425123B1 (en) * 1999-06-29 2002-07-23 International Business Machines Corporation System, method, and program for testing translatability of software by using english multi-byte transliteration creating double-wide characters

Also Published As

Publication number Publication date
AU2002220113A1 (en) 2002-07-08
US7900143B2 (en) 2011-03-01
TWI366769B (en) 2012-06-21
CN1524234B (zh) 2010-05-26
US20020120654A1 (en) 2002-08-29
WO2002052435A3 (en) 2004-04-08
CN1524234A (zh) 2004-08-25
KR20030072574A (ko) 2003-09-15
WO2002052435A2 (en) 2002-07-04
JP2005501303A (ja) 2005-01-13

Similar Documents

Publication Publication Date Title
KR100584038B1 (ko) 큰 문자 세트 브라우저
US7188115B2 (en) Processing fixed-format data in a unicode environment
US5682158A (en) Code converter with truncation processing
JP2502021B2 (ja) 多バイトデ―タ変換方法及びシステム
US5793381A (en) Unicode converter
US7155672B1 (en) Method and system for dynamic font subsetting
US8542235B2 (en) System and method for displaying complex scripts with a cloud computing architecture
US6055365A (en) Code point translation for computer text, using state tables
EP1679614B1 (en) Method and apparatus for providing foreign language text display when encoding is not available
US4727511A (en) Multitype characters processing method and terminal device
JP5551660B2 (ja) テキストをマトリクスコードシンボルに符号化するコンピュータ実行方法、マトリクスコードシンボルを復号化するコンピュータ実行方法、テキストをマトリクスコードシンボルに符号化するためのエンコーダ、およびマトリクスコードシンボルを復号化するためのデコーダ
JP4451908B2 (ja) ユニコード・コンバータ
US6822586B2 (en) Apparatus and method for converting binary numbers to character codes
WO1997010556A1 (en) Unicode converter
WO1997010556A9 (en) Unicode converter
US6393445B1 (en) System for transforming Chinese character forms in real-time between a traditional character form and a simplified character form
Murugan et al. WordCode using WordTrie
JPWO2002101935A1 (ja) 復号化装置、復号化方法、ルックアップテーブルおよび復号化プログラム
Peruginelli et al. Character sets: towards a standard solution?
US6032165A (en) Method and system for converting multi-byte character strings between interchange codes within a computer system
Liu et al. Distributed multilingual applications of the OSI architecture
CN1172266C (zh) 一种压缩汉字库芯片
Pike et al. Hello World or
CN102184095A (zh) 融合通信系统的中文显示系统及方法
Ong et al. Compression of Chinese text files using a multiple four-bit coding scheme

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130520

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 14