KR20060051590A - 가독성을 유지하기 위해 복잡한 문자를 단순화하는 방법 및시스템 - Google Patents

가독성을 유지하기 위해 복잡한 문자를 단순화하는 방법 및시스템 Download PDF

Info

Publication number
KR20060051590A
KR20060051590A KR1020050088756A KR20050088756A KR20060051590A KR 20060051590 A KR20060051590 A KR 20060051590A KR 1020050088756 A KR1020050088756 A KR 1020050088756A KR 20050088756 A KR20050088756 A KR 20050088756A KR 20060051590 A KR20060051590 A KR 20060051590A
Authority
KR
South Korea
Prior art keywords
character
stroke
semantic
size
implicit
Prior art date
Application number
KR1020050088756A
Other languages
English (en)
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 KR20060051590A publication Critical patent/KR20060051590A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/948Alteration of stored fonts to maintain feature consistency throughout scaled font

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

문자 아웃라인(character outline)이 스캔 변환(scan converting)될 때 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 문자 비트 맵을 향상시키기 위해 문자에 암시 명령(hinting instruction)을 부가하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품이 개시된다. 출력될 문자가 검색된다. 문자가 시멘틱 문자 분류(semantic character classification)에 속한다는 판정이 이루어지고, 시멘틱 문자 분류에 관련되는 암시 명령이 액세스된다. 암시 명령은 기준 문자 크기 및 출력 해상도에 기초하여 문자의 적어도 하나의 피처(feature)의 적어도 하나의 스트로크(stroke)에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 문자에 대한 시멘틱 의미를 보존한다. 문자에 대한 실제 문자 크기 및 출력 해상도가 암시 명령에 대한 기준 문자 크기 및 출력 해상도에 속하는 경우, 암시 명령이 실행된다.
문자 아웃라인, 스트로크, 문자 비트 맵, 암시 명령

Description

가독성을 유지하기 위해 복잡한 문자를 단순화하는 방법 및 시스템{SIMPLIFYING COMPLEX CHARACTER TO MAINTAIN LEGIBILITY}
도 1은 문자에 대한 문자 아웃라인을 도시.
도 2는 60-픽셀 그리드에 크기조정된 도 1에 도시된 문자 아웃라인의 비트 맵 표시를 도시.
도 3은 12-픽셀 그리드에 크기조정된 도 1에 도시된 문자 아웃라인의 비트 맵 표시를 도시.
도 4는 도 1에 도시된 문자 아웃라인을 정확하게 나타내는 데 필요한 수직 방향의 픽셀의 개수를 도시.
도 5는 도 1에 도시된 문자 아웃라인에 대하여, 폰트 설계자에 의해 생성된 스트로크-감소된 비트 맵을 도시.
도 6은 그리드-맞춤을 위한 암시를 사용한 도 1에 도시된 문자 아웃라인의 크기조정된 비트 맵을 도시.
도 7은 그리드-맞춤 및 스트로크 감소 둘 다를 위한 암시를 사용한 도 1에 도시된 문자 아웃라인의 크기조정된 비트 맵을 도시.
도 8 및 도 9는 문자 또는 문자 집합에 암시 명령을 부가하는 방법에 대한 예시적인 동작 및 단계를 도시.
도 10은 본 발명에 적합한 오퍼레이팅 환경을 제공하는 예시적인 컴퓨터 시스템을 도시.
<도면의 주요 부분에 대한 부호의 설명>
100 : 문자 아웃라인
120 : 피처
본 발명은 문자 가독성(legibility)에 관한 것이다. 특히, 본 발명은 문자 아웃 라인이 스캔 변환(scan converting)될 때 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 문자 비트맵을 향상시키기 위하여, 문자에 암시 명령(hinting instruction)을 부가하는 것에 관한 것이다.
도 1은 문자 아웃라인(character outline)(100)을 도시한다. 문자 아웃라인은 직선 및 곡선을 이용한 문자 형상의 수학적 묘사이다. 문자 아웃라인(100)은 스트로크(stroke)(121 내지 126)로 구성되어 있는 피처(feature)(120)를 포함하며, 스트로크(111 내지 112 및 131 내지 133)를 포함한다. 본 발명의 여러 실시예에 관하여 이하에 더 상세히 설명되는 스트로크(121 내지 126)를 피처(120)로서 식별하는 것은 다소 임의적인 지정이다. 지금은, 피처는 문자에 대한 하나 이상의 스트로크의 집합이라고 이해하면 충분하다.
도 2는 60픽셀의 그리드에 크기조정된 문자 아웃라인(100)의 비트 맵(200)을 도시한다. 문자 아웃라인(100)과 유사하게, 비트 맵(200)은 스트로크(221 내지 226)로 구성되어 있는 피처(220)를 포함하고, 스트로크(211 내지 212 및 231 내지 233)를 포함한다. 도 2는 특정 크기의 문자에 대해 충분한 픽셀이 사용가능할 경우 렌더링이 비교적 직접적이고 단순한 프로세스일 수 있음을 나타낸다.
그러나, 다양한 출력 장치 상에서의 비트 맵(200)의 크기를 고려해 보자. 가장 저렴한 현재의 레이저 프린터 조차도 해상도 300 DPI(dots per inch)를 제공하며, 더 흔하게는 600의 해상도를 공급한다. 레이저 프린터에 있어서는 흔하지 않지만, 2400 DPI 이상의 해상도는 잉크-젯 프린터에 있어서 흔하다. 따라서, 300 DPI 레이저 프린터 상에서 렌더링되는 경우, 비트 맵(200)은 1/5 인치 높이가 될 것이다.
그러나, 일반적인 디스플레이 장치는 훨씬 더 낮은 해상도를 갖는다. 예를 들어, 72 PPI의 해상도가 매우 흔하고, 약 100 내지 133 PPI(pixel per inch)의 모니터 해상도는 높은 것으로 여겨진다. 결과적으로, 고 해상도 모니터 상에서 렌더링되는 경우, 비트 맵(200)은 대략 1/2 인치 높이가 될 것이다.
일반적으로, 문자에 대한 최적의 판독 크기는 약 9 내지 12 포인트인 것으로 인정된다. 한 포인트는 대략 1/72 인치이다. 따라서, 포인트 크기를 인치로 변환할 때, 문자에 대한 최적의 판독 크기는 약 1/8 인치 내지 약 1/6 인치이다.
상술된 바와 같이, 300 DPI 레이저 프린터 상에서 렌더링되는 경우, 비트 맵(200)은 1/5 인치 높이가 되며, 이것은 판독하기에는 크지만 그렇게 터무니없이 크지는 않다. 그러나, 역시 상술된 바와 같이, 고 해상도 모니터 상에서 렌더링되는 경우, 비트 맵(200)은 대략 1/2 인치 높이가 될 것이고, 이것은 효과적인 판독에 있어서 너무 크다.
문자 아웃라인(100)을 72 PPI 모니터 상에서의 최적의 판독을 위한 비트 맵으로 형성하기 위해, 도 3에 도시되어 있는 바와 같이, 문자 아웃라인(100)은 12 픽셀의 그리드에 크기조정될 필요가 있다. 72 PPI 모니터 상에서, 비트 맵(300)은 1/8 인치 높이가 된다. 그러나, 문자 아웃라인(100)이 12 픽셀의 그리드에 크기조정될 때, 문자의 형상을 정확하게 나타내기에 충분한 픽셀이 존재하지 않는다는 것을 유념한다.
비트 맵(200)과 마찬가지로, 비트 맵(300)은 스트로크(321 내지 326)로 구성되어 있는 피처(320)를 포함하며, 스트로크(311 내지 312 및 331 내지 333)를 포함한다. 그러나, 도 3에 도시되어 있는 바와 같이, 문자의 형상은 충돌하는 픽셀 및 블록 점들로 깨져 있는 것으로 보인다. 예를 들어, 스트로크들(322 및 324a) 간의 백색 공간, 및 스트로크들(326 및 332) 간의 백색 공간이 없다.
도 4의 기본 비트 맵(400)에서 도시되는 바와 같이, 수직 방향의 14개의 픽셀, 즉, 스트로크(411)의 상단을 위한 하나의 픽셀, 스트로크(412)를 위한 하나의 픽셀, 스트로크(412)와 스트로크(422) 간의 분리를 위한 하나의 픽셀, 스트로크(422)를 위한 하나의 픽셀, 스트로크(422)와 스트로크(424A) 간의 분리를 위한 하나의 픽셀, 스트로크(424A)를 위한 하나의 픽셀, 스트로크(424A)와 스트로크(424B)간의 분리를 위한 하나의 픽셀, 스트로크(424B)를 위한 하나의 픽셀, 스트로크(424B)와 스트로크(426) 간의 분리를 위한 하나의 픽셀, 스트로크(426)를 위한 하 나의 픽셀, 스트로크(426)와 스트로크(432) 간의 분리를 위한 하나의 픽셀, 스트로크(432)를 위한 하나의 픽셀, 스트로크(431 및 433)를 위한 두개의 픽셀은, 문자 아웃라인(100)을 정확하게 나타내는 데 필요한 대략의 최소 개수이다. 물론, 문자를 정확하게 나타내는 데 필요한 픽셀의 최소 개수는 문자들 마다 다르다.
개략적으로, 폰트 내의 최고 문자의 상단으로부터 최저 문자의 하단까지의 수직 방향의 거리는 "em"으로 정의된다. 또한, 몇몇 패딩(padding)이 있을 수 있고, 몇몇 폰트 문자는 em을 초과할 수 있다. em은 측정 단위가 아니라, 이 거리에 대한 약칭적 묘사이다. em 당 픽셀의 개수는 도 3에 나타난 문자 형상 문제가 발생할 것인지를 판단하는 데 도움이 된다. em 당 60개의 픽셀에서(도 2), 문자 형상 문제는 em 당 12개의 픽셀(도 3)보다 발생할 확률이 적다.
도 4로 다시 되돌아와서, 수직 방향으로 14개의 픽셀이 사용가능하지 않으면, 문자는 가독성을 향상시키기 위해 변경될 수 있다. 도 4가 수직 방향으로 불충분한 픽셀을 나타내고 있지만, 문자를 나타내는 데 불충분한 픽셀의 문제는 수평 방향에서도 적용된다는 것을 유념해야 한다. 가독성을 향상시키기 위해 문자를 변경하는 한가지 방법은 문자로부터 스트로크를 제거하는 것이다. 아시아 문자는, 라틴 문자에 비해 매우 많은 스트로크를 갖는 경향이 있고, 따라서 일반적으로 효과적인 판독에 적합한 문자 크기에서, 도 3에 나타난 형상 문제가 수평 방향으로나 수직 방향으로나 발생하기 더 쉽기 때문에, 설명의 목적상 문자 아웃라인(100)으로 선택되었다. 본래, 라틴 문자 및 그 외의 문자는 문자 아웃라인 내의 스트로크의 개수, 문자에 대한 타겟 크기, 출력 장치의 해상도 등에 따라 동일한 형상 문제가 발생하기 쉬워진다.
아시아 문자로부터 스트로크를 제거하는 것은 영어 단어로부터 글자를 제거하는 것과 대략 유사하다. 다수의 영어 단어에 있어서, 글자를 제거하는 것은 단어를 특히, 주변 단어들의 문맥으로 인식가능하지 못하게 만들지는 않는다. 물론, 특정 문자들은 다른 문자들보다 더 영향력을 갖는다. 즉, 단어 중간의 모음을 제거하는 것은 단어 시작부의 자음을 제거하는 것보다 문제를 더 적게 일으킬 수 있다. 마찬가지로, 아시아 문자로부터 스트로크를 제거하는 것은 가독성에 너무 크게 영향을 주지 않고서, 문자를 나타내는 데 필요한 픽셀의 개수를 감소시킬 수 있다. 그러나, 영어 단어로부터 문자를 제거하는 것과 같이, 아시아 문자로부터 제거될 스트로크는 판독성 면에서의 임의의 잠재적인 저하를 최소화하도록 선택되어야 한다.
결과적으로, 문자 아웃라인(100)을 크기조정하는 것보다, 전통적인 아시아 폰트는 상이한 폰트 크기로 문자를 렌더링하기 위한 폰트 개발자에 의해 생성된 복수의 비트 맵을 포함한다. 도 5에 도시된 스트로크-감소된 비트 맵(500)은 도 1에 도시된 문자 아웃라인(100)에 대한 예시적인 비트 맵이다. 스트로크(124A 및 124B)는 가독성을 향상시키기 위해 하나의 스트로크(524)로 축약(collapsing)되었음을 유념한다. 남아있는 스트로크(511, 512, 521, 522, 523, 526 및 531 내지 533)는 크게 변하지 않는다.
도 5에 나타난 해결책은 도 3에 나타난 문자 형상 문제를 다루지만, 각각의 문자에 복수의 비트 맵을 제공하는 것은 아시아 폰트를 개발하는 데 필요한 자원을 현저하게 증가시키고, 폰트에 필요한 저장 요건을 현저하게 증가시킨다. 예를 들어, 아시아 폰트는 20,000개 이상의 개별적 문자를 포함할 수 있음을 고려하자. 각각의 문자에 복수의 비트 맵을 제공하는 데에 있어서, 하나의 아시아 폰트에 대한 비트 맵의 개수는 400,000을 초과할 수 있다. 결과적으로, 아시아 폰트의 개발은 꼬박 일년동안 일하는 50명의 폰트 설계자에 상당하는 것를 요구할 수 있다.
따라서, 문자 아웃라인(character outline)이 스캔 변환(scan converting)될 때 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 크기조정된 문자 비트 맵의 가독성을 향상시키기 위해 문자에 암시 명령(hinting instruction)을 부가하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품이 개시된다.
본 발명은, 문자 아웃라인(character outline)이 스캔 변환(scan converting)될 때 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 문자 비트 맵을 향상시키기 위해 문자에 암시 명령(hinting instruction)을 몇몇 실시예의 경우 자동으로, 부가하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품이 개시된다.
본 발명의 예시적인 방법의 실시예에 따르면, 출력될 문자가 검색되는데, 이 문자는 각각이 하나 이상의 스트로크(stroke)를 포함하는 하나 이상의 피처(feature)를 포함한다. 방법은 문자가 하나 이상의 시멘틱 문자 분류(semantic character classification)에 속하고 그 하나 이상의 시멘틱 문자 분류 각각에 관 련되는 하나 이상의 암시 명령에 액세스한다고 판정한다. 하나 이상의 암시 명령은, 기준 문자 크기 및 출력 해상도에 기초하여 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 문자에 대한 시멘틱 의미를 보존한다. 문자에 대한 실제의 문자 크기 및 출력 해상도는 하나 이상의 암시 명령에 대한 기준 문자 크기 및 출력 해상도에 비교되고, 하나 이상의 암시 명령은 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하도록 실행되어, 암시된 문자 아웃라인을 생성한다.
크기조정된 문자 비트 맵은 암시된 문자 아웃라인으로부터 생성되어, 디스플레이 장치 또는 프린터에 전송될 수 있다. 몇몇 실시예에서, 문자는 동아시아 언어의 문자이다.
본 발명의 실시예의 또 다른 예시적인 컴퓨터 프로그램 제품에 따르면, 출력될 문자 집합이 수신되는데, 각각의 문자는 하나 이상의 스트로크를 갖는 하나 이상의 피처를 포함한다. 문자 집합 내의 각각의 문자에 있어서, 문자가 속하는 하나 이상의 시멘틱 문자 분류, 및 그 시멘틱 문자 분류에 관련되는 하나 이상의 암시 명령이 식별된다. 하나 이상의 암시 명령은 기준 문자 크기 및 출력 해상도에 기초하여 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 문자에 대한 시멘틱 의미를 보존한다. 하나 이상의 암시 명령은 문자에 관련된다.
문자에 관련되는 하나 이상의 암시 명령은 유니코드 값, 또는 문자에 대해서 는, 임의의 다른 인코딩에 기초할 수 있고, 문자의 집합은 폰트의 적어도 일부분을 포함할 수 있다. 예를 들어, 문자의 집합은 동아시아 언어의 하나 이상의 문자일 수 있다. 문자가 복수의 시멘틱 문자 분류에 속할 수 있고, 상이한 기준 문자 크기 및 출력 해상도가 상이한 암시 명령에 적용될 수 있고, 몇몇 암시 명령은 오직 그 문자에 특정적인 문자에 관련될 수 있음을 유념해야 한다.
본 발명은 또한, 하나 이상의 시멘틱 문자 분류를 개발하는 단계, 및 하나 이상의 시멘틱 문자 분류 각각에 대해 하나 이상의 암시 명령을 정의하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 예시적인 방법 실시예에 따르면, 각각이 하나 이상의 스트로크를 포함하는 하나 이상의 피처를 포함하는 문자 아웃라인, 및 하나 이상의 기준 문자 크기 및 출력 해상도가 정의된다. 문자에 대한 실제 문자 크기 및 출력 해상도는 하나 이상의 기준 문자 크기 및 출력 해상도에 비교된다. 문자에 대한 하나 이상의 암시 명령은 하나 이상의 스트로크-감소된 비트 맵과는 반대로, 실제 문자 크기 및 출력 해상도가 기준 문자 크기 및 출력 해상도 중 하나에 속하는 경우 실행되도록 정의된다. 하나 이상의 암시 명령은 문자의 적어도 하나의 피처의 적어도 하나의 스트로크를 감소시켜 문자 가독성을 향상시키는 동안, 문자에 대한 시멘틱 의미를 보존한다.
실제 문자 크기 및 출력 해상도가 기준 문자 크기 및 출력 해상도 중 하나에 속하면, 하나 이상의 암시 명령은 스트로크를 축약(collapsing)하거나, 스트로크를 부분적으로 축약하거나, 스트로크를 단축(shortening)할 수 있다. 스트로크는 수 평 스트로크, 수직 스트로크 또는 각이 있는 스트로크를 포함한 임의의 문자 스트로크일 수 있다.
기준 문자 크기 및 출력 해상도는 em 당 픽셀 또는 임의의 다른 적합한 측정으로 타겟 포인트 크기 및 출력 해상도로서 표시될 수 있다.
본 발명의 추가적인 특징 및 장점은 다음의 설명에서 밝혀질 것이고, 그 설명으로부터 부분적으로 명백해지거나, 본 발명의 실시에 의해 학습될 수 있을 것이다. 본 발명의 특징 및 장점은 특히 첨부된 청구항에서 지적된 수단 및 그 조합에 의해 실현되고 획득될 수 있다. 본 발명의 이러한 특징 및 그 외의 특징은 다음의 설명 및 첨부된 청구범위로부터 더 완전히 명백해질 것이고, 이후에 설명되는 본 발명의 실시에 의해 학습될 수 있을 것이다.
본 발명의 상술된 것과 그 외의 장점 및 특징이 획득될 수 있는 방법을 설명하기 위해, 첨부된 도면에 나타난 특정 실시예들을 참조함으로써, 간단히 상술된 본 발명에 대한 더 특정적인 설명이 제공될 것이다. 이 도면은 단지 본 발명의 전형적인 실시예를 도시하는 것일 뿐이며 따라서 그 범주를 제한하는 것으로 간주되지 않는다는 것을 이해하면서, 본 발명은 첨부 도면의 사용을 통해 추가적인 특정 및 상세사항을 가지고 설명될 것이다.
본 발명은 문자 아웃라인이 스캔 변환될 때 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 문자 비트 맵을 향상시키기 위해 문자에 암시 명령을 부가하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품으로 확대된다. 개시된 다양한 실시예는 설명 및 명확성의 목적상, 본 발명의 상이한 양태에 초점을 둔다 는 것을 유념해야 한다. 따라서, 개시된 실시예는 본 발명의 범주를 제한하는 데 사용되어서는 안되며, 따라서 개시된 실시예의 조합 및/또는 개시된 실시예의 특정 부분은 본 발명의 범주 내에 포함되는 것으로 이해되어야 한다.
도 6은 그리드-맞춤을 목적으로 암시를 사용한 도 1에 도시된 문자 아웃라인의 크기조정된 비트 맵(600)을 도시한다. 그리드-맞춤은 픽셀이 온(on)이 되어야 하는지를 판정하기 전에 문자 아웃라인을 그리드에 맞추는 방법을 설명하는 암시 명령을 사용한다. 그리드-맞춤은 위치 및 거리의 규칙 또는 유사-규칙(near-regularity)을 보존하고 비율을 보존하는 것을 시도한다. 도 6에서, 수평선(612, 622, 624A, 624B, 626 및 623)은 12-픽셀 그리드에 맞추어져서 스트로크 아웃라인이 하나의 픽셀을 따라 놓이게 된 것을 유념한다. 그리드 맞춤은 보통, 우선 하나의 축을 따라 일어나고, 그 후 두번째 축을 따라 일어난다.
도 6에 도시된 그리드-맞춤은 문자의 형상을 개선하지만, 이미지 내의 검은 점들의 문제를 해결하지 못한다. 도 4를 다시 참조하면, 이것은 문자 아웃라인(100)을 정확하게 나타내기 위해서는 최소한 14개의 픽셀이 필요하기 때문이다. 비트 맵(600)의 형상을 개선하기 위하여, 피처(620)의 중간 스트로크들(624A 또는 624B) 중 하나를 축약하는 추가적인 암시가 수행된다.
이 추가적인 암시는 도 7에 도시된 비트 맵(700)에서 나타난다. 특히, 피처(620)의 수평의 스트로크들(624A 및 624B) 중 하나는 피처(720)의 하나의 수평의 스트로크(724)로 축약된 것을 유념한다. 결과적으로, 문자는 특히 수평의 스트로크들(712, 722, 724, 726 및 732) 사이의 흰 공간 때문에 더 읽기 쉬워진다.
애플 및 마이크로소프트에 의해 흔히 사용되는 TRUETYPE®을 포함한 암시 명령을 지원하는 다양한 폰트 언어가 있다. 폰트 언어는 크기조정하는 것을 용이하게 하기 위해, 그리고 암시를 위해 문자 아웃라인(100)과 같은 문자 아웃라인을 묘사하는 데 사용된다. 그러나, 상술된 바와 같이, 암시는 상술되고 도 3에 나타난 곤란성으로 인해, 아시아 폰트, 더 상세하게는 동아시아(즉, 일본어, 간략화되고 전통적인 중국어, 한국어 등) 폰트에 대해 크기조정된 문자 아웃라인 내의 스트로크를 감소시키는 데 사용되지 않았다. 오히려, 문자 아웃라인은 문자를 정확하게 나타내는 데 충분한 em 당 픽셀이 있을 경우 문자를 렌더링하는 데 사용되고, 문자를 정확하게 나타내는 데 불충분한 em 당 픽셀이 있을 경우에는, i) 렌더링된 문자는 도 3에 도시된 문자 비트 맵(300)과 유사하게 낮은 가독성을 제공하거나, ii) 각각의 문자에 대한 복수의 스트로크-감소된 비트 맵(도 5)은 폰트 자체에 포함되어, 많은 폰트 개발 비용 및 많은 폰트 파일을 초래한다. 반대로, 상술된 암시를 사용하여, 복수의 비트 맵의 마찬가지로 매우 읽기 쉬운 결과는 매치될 수 있고, 이로써, 스트로크-감소된 비트 맵을 개발하고 폰트 파일 내에 포함시킬 필요성을 제거한다.
예를 들어, 폰트를 개발할 때, 문자 아웃라인이 정의된다. 문자 아웃라인은 하나 이상의 스트로크로 구성된 하나 이상의 피처를 포함한다. 피처는 단순히 하나 이상의 스트로크의 컬렉션에 대한 임의의 지칭이고, 반드시 문자 아웃라인에 대한 임의의 추가적 구조를 의미하는 것은 아니라는 것을 유념해야 한다.
하나 이상의 기준 문자 크기 및 출력 해상도도 정의된다. 기준 문자 크기 및 출력 해상도는 스트로크 감소가 일어나야 하는 문자 크기 및 출력 해상도를 나타낸다. 몇몇 문자에 대하여, 스트로크 감소가 요구되지 않을 수 있지만, 다른 문자들은 하나의 특정 문자 크기 및 출력 해상도, 또는 복수의 문자 크기 및 출력 해상도에서 스트로크 감소를 요구할 수 있다. 전술한 바와 같이, 기준 문자 크기 및 출력 해상도는 em 당 픽셀 또는 임의의 다른 적합한 측정으로, 타켓 포인트 크기 및 출력 해상도로서 표시될 수 있다.
개발 시에, 문자에 대한 실제 문자 크기 및 출력 해상도에 대한 변수는 하나 이상의 기준 문자 크기 및 출력 해상도에 비교된다. 이 변수는 런타임시에 실제 문자 크기 및 출력 해상도를 수신한다.
하나 이상의 스트로크-감소된 비트 맵을 사용하는 것과 반대로, 실제 문자 크기 및 출력 해상도가 기준 문자 크기들 및 출력 해상도들 중 하나에 속하는 경우 실행되도록, 문자에 대한 하나 이상의 암시 명령이 정의된다. 다시, 하나 상의 암시 명령은 하나 이상의 문자 피처의 하나 이상의 스트로크를 감소시키는 것이 문자 가독성을 증가시키는 동안 문자에 대한 시멘틱 의미를 보존한다. 실제 문자 크기 및 출력 해상도가 기준 문자 크기들 및 출력 해상도들 중 하나에 속하다면, 하나 이상의 암시 명령은 예를 들어, 스트로크를 축약하거나, 스트로크를 부분적으로 축약하거나, 스트로크를 단축할 수 있다. 스트로크는 수평의 스트로크, 수직의 스트로크 또는 각이 있는 스트로크를 포함한 임의의 문자 스트로크일 수 있다.
폰트 개발 자원의 추가적인 감소는 암시가 자동적으로 부가될 수 있도록 복수의 문자에 특정 피처가 존재한다는 것을 인식함으로써 획득될 수 있다. 상술된 바와 같이, 문자 피처는 단순히 하나 이상의 문자 스트로크 중 임의의 컬렉션이다. "피처"이라는 용어를 사용하는 주요 이유는 다음의 시멘틱 문자 분석의 설명을 용이하게 하고자 하기 때문이다. 다시 말하면, 문자 피처는 시멘틱 문자 분석 외의 임의의 의미를 반드시 갖는 것은 아니다.
한 레벨에서, 문자 피처들 간의 시각적 유사점을 인지함으로써 몇몇 이점이 실현될 수 있지만, 문자 피처를 바꾸는 시멘틱 의미를 고려함으로써 추가적인 이점이 실현될 수 있다. 다시 말하면, 암시는 단순히 시각적인 인지에 기초하여 구현될 수는 있지만, 암시 명령의 기초를 단지 시각적 유사성이 아닌 시멘틱에 두는 것은 더 향상된 가독성을 초래한다. 시멘틱 분석은 유사한 피처가 문자에서 문자로의 동일한 것을 뜻한다는 것을 반드시 의미하지는 않으며, 오히려, 스트로크 감소 또는 이동과 같은 유사한 암시가 문자들의 의미 또는 가독성을 현저하게 변경하지 않고서, 상이한 문자들에 대해 수행될 수 있음을 의미한다. 명세서, 도면 및 청구범위 전반에 있어서, "스트로크 감소"라는 용어는 스트로크의 총체적 제거(축약), 스트로크의 부분적인 제거(축약), 또는 수평 및/또는 수직 방향으로의 스트로크 단축을 포함하도록(이것으로 제한되지 않음) 광범위하게 해석되어야 한다. 이하에 더 상세히 설명되는 바와 같이, 스트로크 감소는 문자 크기 및 해상도를 다르게하는 것에 실용적인 문자의 시멘틱 의미와 가독성 둘 다를 유지하도록 의도된다.
시멘틱 분석은 하나 이상의 시멘틱 문자 분류를 정의하는 것을 포함한다. 다시, 이 분류는 문자가 유사한 의미를 갖는 것을 반드시 나타내는 것은 아니며, 오히려, 가독성을 향상시키기 위해, 시멘틱 분류 내의 문자들에 공통적인 피처에 대해 유사한 암시가 수행될 수 있음을 나타낸다. 그것은, 피처는 유사하게 보일지라도, 완전히 다른 시멘틱 의미를 갖는다는 것일 수 있다. 예를 들어, 문자 피처는 시멘틱 의미를 갖는 더 큰 문자 피처의 일부분이기 때문에, 시멘틱 의미를 가질 수 없다. 또한, 스트로크의 제거는 독자들이 문자들 간을 구별하기에 너무 어렵지 않게 해준다는 것을 보장하기 위해 주의해야 한다.
단일의 문자는 복수의 시멘틱 문자 분류에 속할 수 있고, 따라서, 복수의, 가능하게는 독립적인 암시 명령어들은 단일의 문자에 대해 실행 또는 수행될 수 있다. 몇몇 실시예에서, 문자는 암시를 단순화하기 위해 단일의 시멘틱 분류으로 제한될 수 있다. 다른 실시예에서, 복수의 시멘틱 분류에 속하는 문자는 하나의 유형의 암시가 수행된 후에 그 문자가 여전히 다른 시멘틱 분류에 속한다는 것을 확인하기 위해 암시 언어 자체 내에 추가적인 검사를 포함할 수 있다. 다르게, 시멘틱 분류 자체는 그들과 그들에 관련된 암시 간의 임의의 호환불가능성을 식별하여, 호환가능한 유형의 암시만이 수행되도록 할 수 있다. 예를 들어, 호환불가능성은 하나 이상의 시멘틱 분류가 하나 이상의 다른 시멘틱 분류를 배재하게 함으로써 명확하게 식별될 수도 있고, 하나 이상의 시멘틱 분류가 하나 이상의 호환가능한 시멘틱 분류를 식별하게 함으로써 포함될 수도 있다.
상술된 설명 대부분은 아시아 폰트에 초점을 두었지만, 아시아 폰트는 단순히, 자신이 포함하는 스트로크의 개수로 인해 식별된 문제에 다소 걸리기 쉬운 문자들을 포함한다는 것을 인지해야 한다. 스트로크의 개수, 그러한 스트로크들을 분리하는 데 필요한 흰 공간, 디스플레이 장치의 일반적인 해상도, 및 판독에 가장 바람직한 폰트 크기는 특히 아시아 폰트가 문제가 생기게 한다. 그러나, 이러한 동일한 문제는 적절한 환경 하에서 임의의 문자에 나타날 수 있다.
상술된 문자 형상 문제가 발생하기 쉬울 때 양을 정하는 한가지 방법은 문자의 복잡도를 고려하는 것이다. 여기서, 복잡도는 문자를 단순히 문자에 존재하는 스트로크의 개수가 아니라, 문자 크기 및 해상도의 문맥으로 설명하는 것이다. 따라서, 비트 맵(200)이 다수의 스트로크를 갖는 문자에 해당되더라도, 문자를 나타내는 적절한 개수의 픽셀, 이 경우에는 60-픽셀 그리드가 있기 때문에, 이 문자는 복잡하지 않다. 그러나, 문자 아웃라인(100)이 도 3에 도시된 것과 같은 12-픽셀 그리드에 크기조정될 때, 문자를 정확하게 나타내는 데 충분한 픽셀이 존재하지 않기 때문에 그 문자는 복잡해진다.
실제로, em 당 픽셀의 개수, 특정 폰트, 및 출력 해상도 사이에는 상호관계가 있다. 암시는 이러한 요인들 각각을 고려할 수 있고, 따라서, 이러한 요인에 기초하여 문자가 복잡하다고 간주되기 때문에 필요 시 스트로크 감소 또는 이동을 조건부로 수행한다. 따라서, 아시아 문자로의 초점은 단지 설명적인 것일 뿐이며, 본 발명의 범주를 제한하려는 것은 아니다.
본 발명은 또한, 기능적인 단계 및/또는 비기능적인 동작을 포함하는 방법에 관련하여 설명될 수 있다. 다음은 본 발명을 실시할 때 수행될 수 있는 동작 및 단계들에 대한 설명이다. 보통, 기능적인 단계는 본 발명을 성취되는 결과에 관련하여 설명하지만, 비기능적인 단계는 특정 결과를 성취하기 위한 보다 더 특정적인 동작을 설명한다. 기능적인 단계 및 비기능적인 동작은 특정 순서로 설명 또는 주 장될 수 있지만, 본 발명은 반드시 동작 및/또는 단계들의 임의의 특정 순서 또는 조합으로 제한되는 것은 아니다.
도 8 내지 도 9는 문자 또는 문자 집합에 암시 명령을 부가하는 방법에 대한 예시적인 동작 및 단계를 도시한다. 도 8을 참조하면, 출력될 문자를 수신하는 단계(810)는 출력될 문자를 검색하는 동작(812)을 포함할 수 있다. 예를 들어, 임의의 전자 데이터 내에 포함된 문자는 하나씩 검색될 수 있고, 도 8과 관련하여 설명된 본 발명의 실시예에 따라 처리될 수 있다. 상술된 바와 같이, 문자는 동아시아 언어의 문자일 수 있다.
문자에 대한 하나 이상의 시멘틱 문자 분류를 식별하는 단계(820)는 문자가 하나 이상의 시멘틱 문자 분류에 속한다고 판정하는 동작(822)을 포함할 수 있다. 하나 이상의 시멘틱 문자 분류 각각에 관련되는 하나 이상의 암시 명령을 식별하는 단계(830)는 하나 이상의 암시 명령에 액세스하는 동작(832)을 포함할 수 있다. 상술된 바와 같이, 기준 문자 크기 및 출력 해상도에 기초하여 적어도 하나의 문자 피처의 적어도 하나의 문자 스트로크에 대해 스트로크의 존재여부 또는 위치, 또는 둘 다를 변경하는 한편, 암시 명령은 문자에 대한 시멘틱 의미를 보존한다.
문자에 대한 실제 문자 크기 및 출력 해상도가 하나 이상의 암시 명령에 대한 기준 문자 크기 및 출력 해상도 내에 있다고 판정하는 단계(840)는 실제 문자 크기 및 출력 해상도를 기준 문자 크기 및 출력 해상도에 비교하는 동작(842)을 포함할 수 있다. 예를 들어, em 당 픽셀의 개수, 문자 크기 및 출력 해상도에 따라, 암시가 필요할 수 있다. 특히, 600DPI 프린터와 100PPI 디스플레이 장치 간의 차 이를 생각해보자. 그리드-맞춤이 두 경우 모두에 바람직할 수 있긴 하지만, 해상도가 6배로 되면, 프린트할 때 스트로크 감소가 필요없을 수 있더라도, 스트로크 감소는 디스플레이 장치 상에서의 문자의 판독가능성을 크게 향상시킬 수 있다.
하나 이상의 암시 명령을 사용함으로써 암시된 문자 아웃라인을 생성하는 단계(850)는 하나 이상의 암시 명령을 실행하는 동작(852)을 포함할 수 있다. 암시된 문자 아웃라인으로부터 크기조정된 비트 맵을 준비하는 단계(860)는 비트 맵을 생성하는 동작(862)을 포함할 수 있다. 비트 맵을 출력하는 단계(870)는 비트 맵을 디스플레이 장치 또는 프린터와 같은 출력 장치에 전송하는 동작(872)을 포함할 수 있다.
몇몇 실시예에서, 문자는 복수의 시멘틱 문자 분류에 속할 수 있지만, 다른 실시예에서, 문자는 하나의 시멘틱 문자 분류으로 제한될 수 있다. 문자가 복수의 시멘틱 분류에 속하면, 하나 또는 복수의 암시 명령이 기준 문자 크기 및 출력 해상도 요건을 만족시키거나, 어떤 암시 명령도 만족시키지 못하는 것이 가능하다. 다시 말하면, 상이한 암시 명령은 실행되기 위해, 상이한 문자 크기 및 출력 해상도 요건을 가질 수 있다.
도 9를 참조하면, 하나 이상의 시멘틱 문자 분류를 개발하는 단계(910)는 하나 이상의 시멘틱 문자 분류를 정의하는 동작(912)을 포함할 수 있다. 하나 이상의 암시 명령을 개발하는 단계(920)는 하나 이상의 시멘틱 문자 분류에 대한 하나 이상의 암시 명령을 정의하는 동작(922)을 포함할 수 있다. 여기서, 또한, 문자는 복수의 시멘틱 문자 분류에 속할 수 있다.
출력될 문자 집합(각각의 문자는 하나 이상의 스트로크를 갖는 하나 이상의 피처를 포함함)을 수신하는 단계(930)는 문자 집합을 검색하는 동작(932)을 포함할 수 있다. 예를 들어, 폰트 내에 포함된 문자가 검색되고, 이전에 어떤 암시 및 시멘틱 분석도 존재하지 않거나 제한된 암시 및 시멘틱 분석이 존재하는 폰트에 암시 및 시멘틱 분석을 부가하기 위해, 도 9에 관련하여 설명된 본 발명의 실시예에 따라 처리될 수 있다. 다시, 문자 집합 또는 문자는 동아시아 언어 폰트의 하나 이상의 문자(또는 심지어 모든 문자)일 수 있다.
문자 집합 내의 각각의 문자에 대하여{판정 블록 (942)}, 문자가 속하는 하나 이상의 시멘틱 문자 분류를 식별하는 단계(950)는 문자가 하나 이상의 시멘틱 문자 분류에 속하는지를 판정하는 동작(952)을 포함할 수 있다. 하나 이상의 시멘틱 문자 분류에 관련되는 하나 이상의 암시 명령을 식별하는 단계(960)는, 문자가 한 시멘틱 문자 분류에 속하는 경우 그 시멘틱 문자 분류에 관련되는 하나 이상의 암시 명령에 액세스하는 동작(962)을 포함할 수 있다.
상술된 바와 같이, 하나 이상의 암시 명령은 기준 크기 및 출력 해상도에 기초하여 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 문자의 시멘틱 의미를 보존한다. 하나 이상의 암시 명령을 문자에 관련시키는 단계(970)는 문자에 하나 이상의 암시 명령을 부가하는 동작(972)을 포함할 수 있다. 하나 이상의 암시 명령은 유니코드 또는 다른 인코딩 시스템, 문자에 대한 값에 기초하여 문자에 관련될 수 있다.
본 발명의 범주 내의 실시예들은 또한, 컴퓨터-실행가능 명령어 또는 데이터 구조를 포함하는 컴퓨터-판독가능 매체를 포함한다. 그러한 컴퓨터-판독가능 매체는 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 예를 들어, 그러한 컴퓨터-판독가능 매체로는, RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장 장치, 자기 디스크 저장장치 또는 다른 자기 저장 장치, 또는 요구된 프로그램 코드 수단을 컴퓨터-실행가능 명령어 또는 데이터 구조의 형태로 포함 또는 저장하는 데 사용될 수 있고 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체가 있지만, 이것으로 제한되지 않는다. 네트워크 또는 다른 통신 접속부(유선, 무선, 또는 유선과 무선의 조합)를 통해 컴퓨터에 정보가 전송 또는 제공될 때, 컴퓨터는 적절하게 그 접속부를 컴퓨터-판독가능 매체로서 본다. 따라서, 임의의 그러한 접속부는 적절하게 컴퓨터-판독가능 매체라고 불린다. 상술된 것의 조합도 컴퓨터-판독가능 매체의 범주 내에 포함되어야 한다. 컴퓨터-실행가능 명령어는 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터 또는 특수 목적 프로세싱 장치가 특정 함수 또는 함수들의 그룹을 수행하게 하는 명령어 및 데이터를 포함한다.
도 10 및 다음의 설명은 본 발명이 구현될 수 있는 적합한 컴퓨팅 환경에 대한 간단하고 일반적인 설명을 제공하고자 한다. 요구되는 것은 아니지만, 본 발명은 네트워크 환경에서 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터-실행가능 명령어의 일반적 문맥으로 설명될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브 젝트, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터-실행가능 명령어, 관련된 데이터 구조 및 프로그램 모듈은 여기에 개시된 방법의 단계들을 실행하기 위한 프로그램 코드 수단의 예를 나타낸다. 그러한 실행가능 명령어 또는 관련된 데이터 구조의 특정 시퀀스는 그러한 단계에서 설명된 기능을 구현하기 위한 대응하는 동작들의 예를 나타낸다.
본 기술분야에 숙련된 기술을 가진 자는, 본 발명이 개인용 컴퓨터, 핸드-헬드 장치, 이동 전화, 멀티-프로세서 시스템, 마이크로프로세서-기반 또는 프로그램가능한 전자기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 여러 유형의 컴퓨터 시스템 구성으로 네트워크 컴퓨팅 환경에서 실시될 수 있음을 이해할 것이다. 본 발명은 또한, 통신 네트워크를 통해 (유선 링크, 무선 링크, 또는 유선 또는 무선 링크의 조합에 의해) 링크되어 있는 로컬 및 원격 프로세싱 장치에 의해 태스크가 실행되는 분산 컴퓨팅 환경에서도 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 배치될 수 있다.
도 10을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 프로세싱 유닛(1021), 시스템 메모리(1022), 및 시스템 메모리(1022)를 비롯한 다양한 시스템 컴포넌트들을 프로세싱 유닛(1021)에 연결시키는 시스템 버스(1023)를 포함하는 통상적인 컴퓨터(1020) 형태의 범용 컴퓨팅 장치를 포함한다. 그러나, 이동 전화는 점점 복잡해짐에 따라, 통상적인 컴퓨터(1020)에 대해 도시된 컴포넌트들 중 다수를 통합하기 시작했다는 것을 유념해야 한다. 따라서, 대부분 입/출력 장치에 관 한 상대적으로 작은 조정으로, 통상적인 컴퓨터(1020)에 대한 설명은 이동 전화에 동일하게 적용된다. 시스템 버스(1023)는 메모리 버스 또는 메모리 제어기, 주변장치 버스, 및 임의의 다양한 버스 아키텍처를 사용하는 로컬 버스를 포함하는 임의의 여러 유형의 버스 구조일 수 있다. 시스템 메모리로는 판독 전용 메모리(ROM)(1024) 및 랜덤 액세스 메모리(RAM)(1025)가 있다. 예를 들어, 구동 동안에, 컴퓨터(1020) 내의 구성요소들 간의 정보 전달을 돕는 기본 루틴을 포함하는 입/출력 시스템(BIOS)(1026)은 ROM(1024)에 저장될 수 있다.
컴퓨터(1020)는 또한, 자기 하드 디스크(1039)로부터 판독하고 그에 기록하기 위한 자기 하드 디스크 드라이브(1027), 분리형 자기 디스크(1029)로부터 판독가거나 그것에 기록하기 위한 자기 디스크 드라이브(1028), CD-ROM 또는 다른 광 매체와 같은 분리형 광 디스크(1031)로부터 판독하거나 그에 기록하기 위한 광 디스크 드라이브(1030)를 포함할 수 있다. 자기 하드 디스크 드라이브(1027), 자기 디스크 드라이브(1028) 및 광 디스크 드라이브(1030)는 하드 디스크 드라이브 인터페이스(1032), 자기 디스크 드라이브-인터페이스(1033) 및 광 드라이브 인터페이스(1034) 각각에 의해 시스템 버스(1023)에 접속된다. 드라이브 및 그에 관련된 컴퓨터-판독가능 매체는 컴퓨터-실행가능 명령어, 데이터 구조, 프로그램 모듈 및 다른 데이터의 비휘발성 저장장치를 컴퓨터(1020)에 제공한다. 여기에 설명된 예시적인 환경은 자기 하드 디스크(1039), 분리형 자기 디스크(1029) 및 분리형 광 디스크(1031)를 사용하지만, 자기 카세트, 플래시 메모리 카드, DVD, 베르누이 카트리지, RAM, ROM 등을 포함한 데이터를 저장하기 위한 다른 유형의 컴퓨터 판독가능 매체가 사용될 수 있다.
하나 이상의 프로그램 모듈을 포함하는 프로그램 코드 수단은 오퍼레이팅 시스템(1035), 하나 이상의 어플리케이션 프로그램(1036), 다른 프로그램 모듈(1027) 및 프로그램 데이터(1038)를 포함하는 하드 디스크(1039), 자기 디스크(1029), 광 디스크(1031), ROM(1024) 또는 RAM(1025) 상에 저장될 수 있다. 사용자는 키보드(1040), 포인팅 장치(1042), 또는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등과 같은 다른 입력 장치(도시되지 않음)를 통해 컴퓨터(1020)에 명령 및 정보를 입력할 수 있다. 이러한 입력 장치 및 그 외의 입력 장치는 종종, 시스템 버스(1023)에 연결된 직렬 포트 인터페이스(1046)를 통해 프로세싱 유닛(1021)에 접속된다. 다르게, 입력 장치는 병렬 포트, 게임 포트 또는 USB와 같은 다른 인터페이스에 의해 접속될 수 있다. 모니터(1047) 또는 다른 디스플레이 장치도 비디오 어댑터(1048)와 같은 인터페이스를 통해 시스템 버스(1023)에 접속된다. 모니터 외에, 개인용 컴퓨터는 일반적으로 스피커 및 프린터와 같은 다른 주변 출력 장치(도시되지 않음)를 포함한다.
컴퓨터(1020)는 원격 컴퓨터(1049a 및 1049b)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(1049a 및 1049b)는 각각 다른 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있고, 도 10에는 메모리 저장 장치(1050a 및 1050b) 및 그에 관련된 어플리케이션 프로그램(1036a 및 1036b)만이 도시되어 있지만, 일반적으로 컴퓨터(1020)에 관련된 상술된 구성요소들 다수 또는 전부를 포함한다. 도 10에 도시된 논리적 접속는 여기에 제한이 아닌 예로서 제공되는 근거리 네트워크(LAN)(1051) 및 광역 네트워크(WAN)(1052)를 포함한다. 그러한 네트워크 환경은 사무실형 또는 기업형 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔하다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1020)는 네트워크 인터페이스 또는 어댑터(1053)를 통해 로컬 네트워크(1051)에 접속된다. WAN 네트워크 환경에서 사용될 때, 컴퓨터(1020)는 모뎀(1054), 무선 링크, 또는 인터넷과 같은 광역 네트워크(1052)를 통한 통신을 설립하기 위한 다른 수단을 포함할 수 있다. 내장형 또는 외장형일 수 있는 모뎀(1054)은 직렬 포트 인터페이스(1046)를 통해 시스템 버스(1023)에 접속된다. 네트워크 환경에서, 컴퓨터(1020)에 관련하여 도시된 프로그램 모듈, 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속은 예시적인 것일 뿐이며, 광역 네트워크(1052)를 통한 통신을 설립하는 다른 수단이 사용될 수 있음을 이해할 것이다.
본 발명은 그 취지 또는 필수적 특징으로부터 벗어나지 않고서 다른 특정 형태로 구현될 수 있다. 개시된 실시예는 모든 면에서 예시적인 것일 뿐 제한적이지 않은 것으로서 간주되어야 한다. 따라서, 본 발명의 범주는 상술된 설명에 의해서라기 보다 첨부된 청구범위에 의해 나타난다. 청구범위의 동량의 의미 및 범주 내에 있는 모든 변경은 그 범주 내에 포함되어야 한다.
본 발명은 문자 아웃라인이 스캔 변환될 때 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 크기조정된 문자 비트 맵의 가독성을 향상시키기 위해 문자에 암시 명령(hinting instruction)을 부가하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품을 제공한다.

Claims (40)

  1. 문자 아웃라인(character outline)이 스캔 변환(scan converting)될 때, 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 크기조정된 문자 비트 맵을 향상시키기 위해, 상기 문자에 암시 명령(hinting instruction)을 자동적으로 부가하는 방법으로서,
    출력될 문자를 검색하는 단계 - 상기 문자는 하나 이상의 피처(feature)를 포함하고, 상기 피처 각각은 하나 이상의 스트로크(stroke)를 더 포함함 -;
    상기 문자가 하나 이상의 시멘틱 문자 분류(semantic character classification)에 속한다고 판정하는 단계;
    상기 하나 이상의 시멘틱 문자 분류 각각에 관련되는 하나 이상의 암시 명령에 액세스하는 단계 - 상기 하나 이상의 암시 명령은 기준 문자 크기 및 출력 해상도에 기초하여 상기 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 상기 문자에 대한 시멘틱 의미를 보존함 -;
    상기 문자에 대한 실제 문자 크기 및 출력 해상도를 상기 하나 이상의 암시 명령에 대한 상기 기준 문자 크기 및 출력 해상도와 비교하는 단계; 및
    상기 하나 이상의 암시 명령을 실행하여, 상기 문자의 상기 적어도 하나의 피처의 상기 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하여 암시된 문자 아웃라인을 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 암시 명령은 상기 문자의 상기 적어도 하나의 피처의 상기 적어도 하나의 스트로크에 대해 스트로크 위치를 변경하는 방법.
  3. 제1항에 있어서,
    상기 암시된 문자 아웃라인으로부터 크기조정된 문자 비트 맵을 생성하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 비트 맵을 디스플레이 장치에 전송하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 문자는 동아시아 언어의 문자인 방법.
  6. 제1항에 있어서,
    상기 문자는 관련된 하나 이상의 제1 암시 명령을 갖는 제1 시멘틱 문자 분류, 및 관련된 하나 이상의 제2 암시 명령을 갖는 제2 시멘틱 문자 분류에 속하는 방법.
  7. 제6항에 있어서,
    상기 기준 문자 크기 및 출력 해상도에 비교된 상기 실제 문자 크기 및 출력 해상도에 기초하여 상기 하나 이상의 제1 암시 명령을 실행하지만 상기 하나 이상의 제2 암시 명령은 실행하지 않는 단계를 포함하는 방법.
  8. 문자 아웃라인이 스캔 변환될 때, 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 문자 비트 맵을 향상시키기 위해, 상기 문자에 대해 암시 명령을 자동적으로 실행하는 방법을 구현하는 컴퓨터 실행가능 명령어를 갖는 하나 이상의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 방법은,
    출력될 문자를 수신하는 단계 - 상기 문자는 하나 이상의 피처를 포함하고, 상기 피처 각각은 하나 이상의 스트로크를 더 포함함 -;
    상기 문자에 대한 하나 이상의 시멘틱 문자 분류를 식별하는 단계;
    상기 하나 이상의 시멘틱 문자 분류 각각에 관련되는 하나 이상의 암시 명령을 식별하는 단계 - 상기 하나 이상의 암시 명령은 기준 문자 크기 및 출력 해상도에 기초하여 상기 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 상기 문자에 대한 시멘틱 의미를 보존함 -;
    상기 문자에 대한 실제 문자 크기 및 출력 해상도는 상기 하나 이상의 암시 명령에 대한 상기 기준 문자 크기 및 출력 해상도 내에 있다고 판정하는 단계; 및
    상기 문자의 상기 적어도 하나의 피처의 상기 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하기 위해 상기 하나 이상의 암시 명령을 사용함으로써 암시된 문자 아웃라인을 생성하는 단계
    를 포함하는 컴퓨터 프로그램 제품.
  9. 제8항에 있어서,
    상기 하나 이상의 암시 명령은 상기 문자의 상기 적어도 하나의 피처의 상기 적어도 하나의 스트로크에 대해 스트로크 존재여부를 변경하는 컴퓨터 프로그램 제품.
  10. 제9항에 있어서,
    상기 적어도 하나의 스트로크는 수직의 스트로크인 컴퓨터 프로그램 제품.
  11. 제8항에 있어서,
    상기 문자는 동아시아 언어의 문자인 컴퓨터 프로그램 제품.
  12. 제11항에 있어서,
    상기 방법은,
    상기 암시된 문자 아웃라인으로부터 크기조정된 비트 맵을 준비하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  13. 제12항에 있어서,
    상기 방법은,
    상기 암시된 문자 아웃라인을 프린터에 출력하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  14. 제8항에 있어서,
    상기 문자는 관련된 하나 이상의 제1 암시 명령을 갖는 제1 시멘틱 문자 분류, 및 관련된 하나 이상의 제2 암시 명령을 갖는 제2 시멘틱 문자 분류에 속하는 컴퓨터 프로그램 제품.
  15. 제14항에 있어서,
    상기 방법은,
    상기 기준 문자 크기 및 출력 해상도에 비한 상기 실제 문자 크기 및 출력 해상도에 기초하여 상기 하나 이상의 제1 및 제2 암시 명령을 실행하는 단계를 포함하는 컴퓨터 프로그램 제품.
  16. 문자 아웃라인이 스캔 변환될 때, 문자의 집합 내의 한 문자의 아웃라인으로부터 지정된 크기 및 출력 해상도로 생성된 문자 비트 맵을 향상시키기 위해, 상기 문자의 집합에 암시 명령을 부가하는 방법으로서,
    출력될 문자의 집합을 수신하는 단계 - 각각의 문자는 하나 이상의 스트로크를 갖는 하나 이상의 피처를 포함함 -; 및
    상기 문자의 집합 내의 문자 각각에 대하여,
    해당 문자가 속하는 하나 이상의 시멘틱 문자 분류를 식별하는 단계;
    상기 문자에 대한 상기 하나 이상의 시멘틱 문자 분류에 관련되는 하나 이상의 암시 명령을 식별하는 단계 - 상기 하나 이상의 암시 명령은 기준 문자 크기 및 출력 해상도에 기초하여 상기 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 상기 문자에 대한 시멘틱 의미를 보존함 -; 및
    상기 하나 이상의 암시 명령을 상기 문자에 관련시키는 단계
    를 포함하는 방법.
  17. 제16항에 있어서,
    상기 하나 이상의 시멘틱 문자 분류를 개발하는 단계를 더 포함하는 방법.
  18. 제16항에 있어서,
    상기 문자 집합은 동아시아 언어의 하나 이상의 문자인 방법.
  19. 제18항에 있어서,
    상기 하나 이상의 암시 명령은 상기 문자에 대한 유니코드 값에 기초하여 상 기 문자에 관련되는 방법.
  20. 제16항에 있어서,
    상기 문자 집합은 폰트의 적어도 일부분을 포함하는 방법.
  21. 제20항에 있어서,
    적어도 하나의 암시 명령을 적어도 하나의 문자에 특정적인 폰트를 갖는 상기 적어도 하나의 문자에 관련시키는 단계를 더 포함하는 방법.
  22. 제16항에 있어서,
    상기 문자는 관련된 하나 이상의 제1 암시 명령과 제1 기준 문자 크기 및 출력 해상도를 갖는 제1 시멘틱 문자 분류, 및 관련된 하나 이상의 제2 암시 명령과 제2 기준 문자 크기 및 출력 해상도를 갖는 제2 시멘틱 문자 분류에 속하고,
    상기 제1 기준 문자 크기 및 출력 해상도는 상기 제2 기준 문자 크기 및 출력 해상도와는 다른 방법.
  23. 문자 아웃라인이 스캔 변환될 때, 문자의 집합 내의 한 문자의 아웃라인으로부터 지정된 크기 및 출력 해상도로 생성된 문자 비트 맵을 향상시키기 위해, 상기 문자의 집합에 암시 명령을 부가하는 방법을 구현하는 컴퓨터 실행가능 명령어를 갖는 하나 이상의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 방법은,
    출력될 문자의 집합을 검색하는 단계 - 각각의 문자는 하나 이상의 스트로크를 갖는 하나 이상의 피처를 포함함 -; 및
    상기 문자의 집합 내의 문자 각각에 대하여,
    해당 문자가 하나 이상의 시멘틱 문자 분류에 속하는지를 판정하는 단계;
    상기 문자가 시멘틱 문자 분류에 속하는 경우, 상기 시멘틱 문자 분류에 관련되는 하나 이상의 암시 명령에 액세스하는 단계 - 상기 하나 이상의 암시 명령은 기준 문자 크기 및 출력 해상도에 기초하여 상기 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 상기 문자에 대한 시멘틱 의미를 보존함 -; 및
    상기 하나 이상의 암시 명령을 상기 문자에 부가하는 단계
    를 포함하는 컴퓨터 프로그램 제품.
  24. 제23항에 있어서,
    상기 방법은,
    상기 하나 이상의 시멘틱 문자 분류 각각에 대해 상기 하나 이상의 암시 명령을 정의하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  25. 제23항에 있어서,
    상기 문자의 집합은 동아시아 언어의 하나 이상의 문자인 컴퓨터 프로그램 제품.
  26. 제25항에 있어서,
    상기 문자는 복수의 시멘틱 문자 분류에 속하는 컴퓨터 프로그램 제품.
  27. 제23항에 있어서,
    상기 방법은,
    상기 하나 이상의 시멘틱 문자 분류를 정의하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  28. 제23항에 있어서,
    상기 문자의 집합은 라틴 폰트의 하나 이상의 문자인 컴퓨터 프로그램 제품.
  29. 문자 아웃라인이 스캔 변환될 때, 문자의 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 크기조정된 문자 비트 맵을 향상시키기 위해 상기 문자에 암시 명령을 자동적으로 부가하는 방법을 구현하는 컴퓨터 실행가능 명령어를 갖는 하나 이상의 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 방법은,
    출력될 동아시아 언어의 문자를 검색하는 단계 - 상기 문자는 하나 이상의 피처를 포함하고, 상기 피처 각각은 하나 이상의 스트로크를 포함함 -;
    상기 문자가 하나 이상의 시멘틱 문자 분류에 속한다고 판정하는 단계;
    상기 하나 이상의 시멘틱 문자 분류 각각에 관련되는 하나 이상의 암시 명령에 액세스하는 단계 - 상기 하나 이상의 암시 명령은 기준 문자 크기 및 출력 해상도에 기초하여 상기 문자의 적어도 하나의 피처의 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하는 한편, 상기 문자에 대한 시멘틱 의미를 보존함 -;
    상기 문자에 대한 실제 문자 크기 및 출력 해상도를 상기 하나 이상의 암시 명령에 대한 상기 기준 문자 크기 및 출력 해상도에 비교하는 단계;
    상기 하나 이상의 암시 명령을 실행하여, 상기 문자의 상기 적어도 하나의 피처의 상기 적어도 하나의 스트로크에 대해 스트로크 존재여부, 스트로크 위치 또는 둘 다를 변경하여 암시된 문자 아웃라인을 생성하는 단계;
    상기 암시된 문자 아웃라인으로부터 크기조정된 문자 비트 맵을 생성하는 단계; 및
    상기 크기조정된 문자 비트 맵을 출력 장치에 전송하는 단계
    를 포함하는 컴퓨터 프로그램 제품.
  30. 제29항에 있어서,
    상기 하나 이상의 암시 명령은 상기 문자의 상기 적어도 하나의 피처의 상기 적어도 하나의 스트로크에 대해 스트로크 위치를 변경하는 컴퓨터 프로그램 제품.
  31. 제29항에 있어서,
    상기 문자는 복수의 시멘틱 문자 분류에 속하는 컴퓨터 프로그램 제품.
  32. 제29항에 있어서,
    상기 출력 장치는 디스플레이 장치를 포함하는 컴퓨터 프로그램 제품.
  33. 문자 아웃라인이 스캔 변환될 때, 상기 문자 아웃라인으로부터 특정 크기 및 출력 해상도로 생성된 크기조정된 문자 비트 맵에 대하여 문자 가독성을 향상시키기 위해, 적어도 하나의 문자 스트로크를 감소시키는 방법으로서,
    하나 이상의 피처를 포함하는 문자 아웃라인을 정의하는 단계 - 상기 피처 각각은 하나 이상의 스트로크를 더 포함함 -;
    하나 이상의 기준 문자 크기 및 출력 해상도를 정의하는 단계;
    상기 문자에 대한 실제 문자 크기 및 출력 해상도를 상기 하나 이상의 기준 문자 크기 및 출력 해상도와 비교하는 단계; 및
    포함될 하나 이상의 스트로크-감소된 비트 맵을 정의하는 것과 대립적으로, 상기 실제 문자 크기 및 출력 해상도가 상기 기준 문자 크기들 및 출력 해상도들 중 하나에 속하는 경우 실행될 상기 문자에 대한 하나 이상의 암시 명령을 정의하는 단계 - 상기 하나 이상의 암시 명령은 상기 문자의 적어도 하나의 피처의 적어도 하나의 스트로크를 감소시키는 동안 상기 문자에 대한 시멘틱 의미를 보존함 -
    를 포함하는 방법.
  34. 제33항에 있어서,
    상기 문자 아웃라인은 동아시아 언어의 문자 아웃라인인 방법.
  35. 제33항에 있어서,
    상기 하나 이상의 기준 문자 크기 및 출력 해상도는 타겟 포인트 크기 및 출력 해상도로서 표시되는 방법.
  36. 제33항에 있어서,
    상기 하나 이상의 기준 문자 크기 및 출력 해상도는 em 당 픽셀로서 표시되는 방법.
  37. 제33항에 있어서,
    상기 실제 문자 크기 및 출력 해상도가 상기 기준 문자 크기들 및 출력 해상도들 중 하나에 속하는 경우, 상기 하나 이상의 암시 명령은 상기 적어도 하나의 스트로크를 축약(collapsing)하는 방법.
  38. 제37항에 있어서,
    상기 적어도 하나의 스트로크는 수평의 스트로크인 방법.
  39. 제33항에 있어서,
    상기 실제 문자 크기 및 출력 해상도가 상기 기준 문자 크기들 및 출력 해상도들 중 하나에 속하는 경우, 상기 하나 이상의 암시 명령은 상기 적어도 하나의 스트로크를 부분적으로 축약하는 방법.
  40. 제33항에 있어서,
    상기 실제 문자 크기 및 출력 해상도가 상기 기준 문자 크기들 및 출력 해상도들 중 하나에 속하는 경우, 상기 하나 이상의 암시 명령은 상기 적어도 하나의 스트로크를 단축(shortening)하는 방법.
KR1020050088756A 2004-09-30 2005-09-23 가독성을 유지하기 위해 복잡한 문자를 단순화하는 방법 및시스템 KR20060051590A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/954,725 2004-09-30
US10/954,725 US7289123B2 (en) 2004-09-30 2004-09-30 Simplifying complex characters to maintain legibility

Publications (1)

Publication Number Publication Date
KR20060051590A true KR20060051590A (ko) 2006-05-19

Family

ID=35515701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050088756A KR20060051590A (ko) 2004-09-30 2005-09-23 가독성을 유지하기 위해 복잡한 문자를 단순화하는 방법 및시스템

Country Status (14)

Country Link
US (2) US7289123B2 (ko)
EP (1) EP1643449B1 (ko)
JP (1) JP2006106729A (ko)
KR (1) KR20060051590A (ko)
CN (1) CN1755666B (ko)
AU (1) AU2005209588B2 (ko)
BR (1) BRPI0504225A (ko)
CA (1) CA2521578C (ko)
HK (1) HK1082580A1 (ko)
MX (1) MXPA05010593A (ko)
MY (1) MY149259A (ko)
RU (1) RU2394268C2 (ko)
TW (1) TWI364715B (ko)
ZA (1) ZA200507318B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289123B2 (en) * 2004-09-30 2007-10-30 Microsoft Corporation Simplifying complex characters to maintain legibility
US20060238539A1 (en) * 2005-04-20 2006-10-26 Opstad David G Method and apparatus for glyph hinting by analysis of similar elements
US7868888B2 (en) * 2006-02-10 2011-01-11 Adobe Systems Incorporated Course grid aligned counters
US7639259B2 (en) * 2006-09-15 2009-12-29 Seiko Epson Corporation Method and apparatus for preserving font structure
JP5003606B2 (ja) * 2008-06-18 2012-08-15 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
US8243077B2 (en) * 2008-08-29 2012-08-14 Dynacomware Taiwan Inc. Method for generating stroke-based font characters for a low-resolution display
US8239763B1 (en) 2009-01-07 2012-08-07 Brooks Ryan Fiesinger Method and apparatus for using active word fonts
TW201035782A (en) * 2009-03-24 2010-10-01 Arphic Technology Co Ltd Method of adjusting strokes of a character
US20130181995A1 (en) * 2010-09-21 2013-07-18 Hewlett-Packard Developement Company, L.P. Handwritten character font library
US9483167B2 (en) 2010-09-29 2016-11-01 Adobe Systems Incorporated User interface for a touch enabled device
US9229636B2 (en) 2010-10-22 2016-01-05 Adobe Systems Incorporated Drawing support tool
US20130132907A1 (en) * 2011-03-02 2013-05-23 Adobe Systems Incorporated Shape pixel rendering
US8842120B2 (en) 2011-03-02 2014-09-23 Adobe Systems Incorporated Physics rules based animation engine
US8861875B1 (en) * 2011-07-29 2014-10-14 Teradici Corporation Method and apparatus for encoding changed image regions
US10031641B2 (en) 2011-09-27 2018-07-24 Adobe Systems Incorporated Ordering of objects displayed by a computing device
US9536279B2 (en) * 2013-03-11 2017-01-03 Google Technology Holdings LLC Method and apparatus for creating a graphics data representation and scaling a graphic represented thereby
US10568560B2 (en) * 2013-03-14 2020-02-25 West Virginia University Endorectal prostate probe with combined PET and US modalities
US20140362104A1 (en) * 2013-06-11 2014-12-11 Microsoft Corporation Layered z-order and hinted color fonts with dynamic palettes
KR102178258B1 (ko) 2013-09-27 2020-11-12 삼성전자주식회사 디스플레이 장치 및 이의 글자 효과 제공 방법
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
US9798943B2 (en) * 2014-06-09 2017-10-24 I.R.I.S. Optical character recognition method
US10439118B2 (en) * 2014-12-04 2019-10-08 Maxim Integrated Products, Inc. MEMS-based wafer level packaging for thermo-electric IR detectors
JP6197840B2 (ja) * 2015-08-24 2017-09-20 コニカミノルタ株式会社 画像処理装置、電子ファイル生成方法及びプログラム
CN105335198B (zh) 2015-11-13 2018-12-11 小米科技有限责任公司 字体添加方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134158A (ja) * 1995-11-09 1997-05-20 Fujitsu Ltd 文字処理方法及び処理装置
KR19980033149A (ko) * 1996-10-24 1998-07-25 미따라이후지오 문자 생성 방법 및 장치
US5982387A (en) * 1995-11-09 1999-11-09 Fujitsu Limited Hint assignment method and font file construction method
US6151032A (en) * 1996-09-20 2000-11-21 Dynalab, Inc. Stroke-based glyph-outline font generation in low/high resolution space

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359673A (en) * 1991-12-27 1994-10-25 Xerox Corporation Method and apparatus for converting bitmap image documents to editable coded data using a standard notation to record document recognition ambiguities
US5526476A (en) * 1992-12-07 1996-06-11 Fujitsu Limited Method and apparatus for generating character patterns expressed by coordinates of a coordinate system
US5586241A (en) * 1993-06-10 1996-12-17 Hewlett-Packard Company Method and system for creating, specifying, and generating parametric fonts
US5479603A (en) * 1993-07-21 1995-12-26 Xerox Corporation Method and apparatus for producing a composite second image in the spatial context of a first image
US5684510A (en) * 1994-07-19 1997-11-04 Microsoft Corporation Method of font rendering employing grayscale processing of grid fitted fonts
US5598520A (en) * 1994-09-26 1997-01-28 Microsoft Corporation Methods and apparatus for hinting a font for controlling stem width as font size and resolution of output device vary
JPH10222146A (ja) * 1997-02-07 1998-08-21 Oki Data:Kk 文字表示装置と表示方法及びフォント情報
US6195473B1 (en) * 1997-12-26 2001-02-27 International Business Machines Corporation Non-integer scaling of raster images with image quality enhancement
US6181835B1 (en) * 1997-12-26 2001-01-30 International Business Machines Corporation Non-integer scaling of raster images with image quality enhancement using an anamorphically scaled intermediate bitmap
US6760028B1 (en) * 2000-07-21 2004-07-06 Microsoft Corporation Methods and systems for hinting fonts
JP4149676B2 (ja) * 2001-02-05 2008-09-10 株式会社東芝 フォトマスクの修正方法
KR100539056B1 (ko) * 2001-07-12 2005-12-27 (주)네오퍼스 폰트의 손실 압축 및 저장 방법
KR100680638B1 (ko) * 2002-07-03 2007-02-09 2012244 온타리오 인크. 스케일가능 스트로크 폰트 시스템 및 방법
JP3747410B2 (ja) * 2002-10-04 2006-02-22 インターナショナル・ビジネス・マシーンズ・コーポレーション アウトラインフォントの印字線幅を設定する技術
US7289123B2 (en) 2004-09-30 2007-10-30 Microsoft Corporation Simplifying complex characters to maintain legibility

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134158A (ja) * 1995-11-09 1997-05-20 Fujitsu Ltd 文字処理方法及び処理装置
US5982387A (en) * 1995-11-09 1999-11-09 Fujitsu Limited Hint assignment method and font file construction method
US6151032A (en) * 1996-09-20 2000-11-21 Dynalab, Inc. Stroke-based glyph-outline font generation in low/high resolution space
KR19980033149A (ko) * 1996-10-24 1998-07-25 미따라이후지오 문자 생성 방법 및 장치

Also Published As

Publication number Publication date
CA2521578C (en) 2013-05-14
US20080012862A1 (en) 2008-01-17
US20060066619A1 (en) 2006-03-30
AU2005209588A1 (en) 2006-04-13
EP1643449A2 (en) 2006-04-05
MY149259A (en) 2013-07-31
TWI364715B (en) 2012-05-21
US7289123B2 (en) 2007-10-30
CA2521578A1 (en) 2006-03-30
CN1755666B (zh) 2010-06-09
HK1082580A1 (en) 2006-06-09
BRPI0504225A (pt) 2006-05-09
RU2005130354A (ru) 2007-04-20
JP2006106729A (ja) 2006-04-20
EP1643449B1 (en) 2012-11-28
TW200622925A (en) 2006-07-01
RU2394268C2 (ru) 2010-07-10
AU2005209588B2 (en) 2009-11-26
ZA200507318B (en) 2007-05-30
EP1643449A3 (en) 2008-03-19
US7697003B2 (en) 2010-04-13
MXPA05010593A (es) 2006-04-05
CN1755666A (zh) 2006-04-05

Similar Documents

Publication Publication Date Title
KR20060051590A (ko) 가독성을 유지하기 위해 복잡한 문자를 단순화하는 방법 및시스템
US7623710B2 (en) Document content and structure conversion
US7310769B1 (en) Text encoding using dummy font
US6337924B1 (en) System and method for accurately recognizing text font in a document processing system
US8175388B1 (en) Recognizing text at multiple orientations
US20060217959A1 (en) Translation processing method, document processing device and storage medium storing program
JP3919617B2 (ja) 文字認識装置および文字認識方法、プログラムおよび記憶媒体
WO2020097734A1 (en) Automatically predicting text in images
JP3913985B2 (ja) 文書画像中の基本成分に基づく文字列抽出装置および方法
EP1730653A2 (en) Systems and methods for identifying complex text in a presentation data stream
JP7493937B2 (ja) 文書における見出しのシーケンスの識別方法、プログラム及びシステム
JP2010123002A (ja) 文書画像レイアウト装置
US20050146528A1 (en) Arrangement for the scaling of fonts
US20020054706A1 (en) Image retrieval apparatus and method, and computer-readable memory therefor
CN116822634A (zh) 一种基于布局感知提示的文档视觉语言推理方法
CN111178002A (zh) 字符显示方法、系统及装置
CN114579796A (zh) 机器阅读理解方法及装置
CN112101356A (zh) 一种图片中特定文本的定位方法、装置及存储介质
JP2022148922A (ja) 情報処理装置及びプログラム
US20210067640A1 (en) Information processing apparatus and non-transitory computer readable medium
JPH08123904A (ja) 書体種類処理装置
KR100573392B1 (ko) 적응학습 모듈이 탑재된 문자인식 기반 대용량 문서디지털화 방법 및 시스템
CN116881399A (zh) 数据信息处理方法、装置、电子设备及存储介质
CN116721431A (zh) 还原图像中字符排版的方法
CN117152762A (zh) 字体库生成的方法、装置、文字的编辑方法、装置和介质

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application