KR20060103945A - 폰트들의 스케일링 장치 - Google Patents

폰트들의 스케일링 장치 Download PDF

Info

Publication number
KR20060103945A
KR20060103945A KR1020067013308A KR20067013308A KR20060103945A KR 20060103945 A KR20060103945 A KR 20060103945A KR 1020067013308 A KR1020067013308 A KR 1020067013308A KR 20067013308 A KR20067013308 A KR 20067013308A KR 20060103945 A KR20060103945 A KR 20060103945A
Authority
KR
South Korea
Prior art keywords
character
font
scalable vector
fonts
electronic device
Prior art date
Application number
KR1020067013308A
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 KR20060103945A publication Critical patent/KR20060103945A/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
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1827Accessing generic data, e.g. fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1827Accessing generic data, e.g. fonts
    • G06K15/1831Accessing generic data, e.g. fonts characterized by the format of the data
    • G06K15/1834Outline coded data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1835Transforming generic data
    • G06K15/1842Geometric transformations, e.g. on raster data
    • G06K15/1843Changing size or raster resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/186Generation of the printable image characterized by its workflow taking account of feedback from an output condition, e.g. available inks, time constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/246Generation of individual character patterns of ideographic or arabic-like characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/26Generation of individual character patterns for modifying the character dimensions, e.g. double width, double height

Abstract

본 발명은 스케일러블 벡터 폰트를 사용하여 문자를 표시하는 방법에 관한 것이다. 상기 방법에서는, 상기 스케일러블 벡터 폰트에 대해, 서로 교체되는 적어도 제1 및 제2 스케일러블 벡터 폰트들이 정해진다. 상기 문자의 가독성(readability)을 최적화하기 위해, 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들 중 하나가 문자의 표시에 사용되도록 선택된다. 또한, 본 발명은 전자 장치(10), 컴퓨터 소프트웨어 생성물, 및 시스템에 관한 것이다.

Description

폰트들의 스케일링 장치{Arrangement for the scaling of fonts}
본 발명은 전자 장치에 의해 사용되는 폰트들의 스케일링을 위한 방법으로서, 문자가 스케일러블 벡터 폰트를 사용하여 표시되는 방법, 상기 방법을 구현하는 장치, 및 컴퓨터 소프트웨어 생성물에 관한 것이다.
소위 문자 구성 표시 포맷(character-based presentation format)은 컴퓨터 시스템들을 위해 개발되어 왔다. 문자 구성 프로그램들 및 인터페이스들은 각각의 작은 정사각형(square)이 하나의 문자를 포함할 수 있는 작은 정사각형 어레이로서 디스플레이 요소를 포함한다. 이러한 문자 구성 시스템들에서, 글자들, 숫자들, 공백들 및 그래픽 기호들과 같은 디스플레이 요소를 통해 디스플레이되는 모든 정보가 문자들이라고 생각된다.
현재, 그래픽 구성 컴퓨터 프로그램들에서, '문자(character)'라는 용어는 글자들, 숫자들, 및 문장 부호(punctuation mark)들을 나타내는 것이 전형적이다. 상기 그래픽 구성 컴퓨터 프로그램들은, 수 백만개의 다른 픽셀들로 이루어지며 디스플레이 요소 상에 원하는 패턴을 형성하도록 특정 패턴들을 조명 또는 컬러링(colouring)함으로써 문자들 및 다른 객체들을 형성하는데 사용되는 픽셀 매트릭스로서 상기 디스플레이 요소를 처리한다.
표시 모드에 관계없이, 상기 문자들은 상기 컴퓨터에 명료한 의미를 부여하도록 2진 코드로 변환되어야 한다. 여러 시스템에서, 이러한 변환은 표준화된 부호화 시스템들을 사용하여 구현된다. 공통 통신 언어와 같이, 표준화된 문자 부호화 시스템들은 정보를 전달하고 컴퓨터들 및 여러 유형의 다른 전자 장치들 간에 통신하는 것을 가능하게 한다.
여러 표준화된 문자 부호화 시스템이 존재한다. 기존의 문자 구성 DOS(Disk Operating System; 디스크 운영 시스템) 프로그램들은 소위 ASCII(American Standard Code for Information Interchange; 아스키) 시스템을 사용한다. 마이크로소프트사에 의해 구축된 Windows® 운영 시스템을 기반으로 하는 프로그램들은 소위 ANSI(American National Standards Institute; 미국 표준 협회) 시스템을 사용한다. 또한, WWW(World Wide Web; 월드 와이드 웹) 브라우저들은 ISO-8859-1인 공식 명칭을 갖는 소위 ISO(International Standards Organization; 국제 표준화 기구) 라틴(Latin) 1 시스템을 사용하는 것이 전형적이다. ISO-10646인 공식 명칭을 지니며 모든 기존의 문자 언어들을 포함하고 또한 모든 과학 기호들을 표시하려고 하는 소위 유니코드(Unicode) 문자 시스템이 또한 개발되어 왔다. 상기 유니코드 문자 시스템은 예를 들면 가장 최근의 Windows® 운영 시스템들에서 사용되고 있다.
상기 문자 시스템들은 자체적으로 널리 알려져 있기 때문에, 상기 문자 시스템들의 더 세부적인 논의는 이러한 맥락에서 반드시 필요하지 않다고 본다.
폰트(font)들이란 상기 문자들이 디스플레이 장치 또는 프린터를 통해 출력 될 경우, 소정의 문자 집합에 대하여 외적인 포맷 및 스타일을 말한다. 상기 폰트는 소정의 글자체 스타일 외에도 문자들의 크기 및 피치(pitch)를 정한다. 예를 들면, "타임즈 뉴 로만(Times New Roman)"은 글자체 스타일이며, 상기 글자체 스타일은 상기 글자체 스타일을 사용하여 문자들의 형태를 정하지만, 예를 들면 다른 크기, 이탤릭체 글자, 볼드체 글자 등등으로 "타임즈 뉴 로만" 글자체 스타일을 사용하는 다른 폰트들이 존재한다. 도 2에는 공통 폰트들의 몇몇 예들이 도시되어 있다.
이전에는, 컴퓨터 시스템들의 문자 구성 속성 때문에, 폰트들의 선택이 비교적 적었었다. 전형적으로는, 모든 글자들 및 기호들은 고정 피치에서 간단한 폰트들로 표시되었다. 현재, 그래픽 구성 운영 시스템들 및 애플리케이션들은 상당히 큰 폰트들의 선택을 사용하는 것을 가능하게 하고 있다. 대부분의 그래픽 구성 운영 시스템은 큰 폰트들의 선택을 이미 포함하고 있으며 이 외에도, 새로운 폰트들은 예를 들면 새로운 프린터의 설치와 관련하여 차후 상기 운영 시스템에 의해 사용되도록 다운로드될 수 있다.
예를 들면, 컴퓨터들, 주변장치들, 개인 휴대 정보 단말기(personal digital assistant; PDA)들, 및 이동 전화들과 같은 전자 장치들은 폰트들에 대해 2개의 다른 출력 포맷들, 즉 비트맵 폰트들 및 벡터 폰트들을 사용하는 것이 전형적이다. 비트맵 폰트들이 사용될 경우에, 각각의 문자는 도트 매트릭스를 사용하여 표시되며 예를 들면 비트맵 폰트의 인쇄시, 프린터는 상기 문자에 포함된 도트(dot)들을 인쇄한다. 비트맵 폰트에 대해 널리 사용되고 있는 다른 용어는 그리드 폰트(grid font)이다. 상기 비트맵 폰트의 논리적 크기(logical size)는 고정적이고, 그럼으로써 상기 전자 장치의 디스플레이 또는 인쇄를 통한 비트 맵 폰트의 물리적인 크기(폭 x 높이)는 상기 전자 장치의 해상도(예컨대, 인치당 픽셀들)에 의존한다. 상기 비트맵 폰트들은 메모리 소비를 고려해 보면 벡터 폰트들만큼 효율적이지 않은데, 그 이유는 비트맵 폰트들을 구현하려면 개별 비트맵 집합이 상기 전자 장치에서 각각의 폰트 크기에 맞게 만들어질 필요가 있기 때문이다. 이는 중국 문자 집합에서와 같은 다수의 문자들을 갖는 언어 버전에서 특히 문제가 된다. 비트맵 폰트들의 이점은 상기 전자 장치의 메모리 내의 비트맵 폰트들의 용이한 저장 가능성 및 상기 메모리로부터의 복구 및 상기 폰트의 표현인데, 그 이유는 상기 폰트들 내에 포함된 정보가 비트맵들을 기반으로 하기 때문이다. 비트맵 폰트들의 단점은 비트맵 폰트들의 메모리 소비인데, 그 이유는 각각의 폰트 크기에 대하여 개별 폰트 집합이 존재하여야 하기 때문이다.
다른 폰트 표현 형태는 소위 벡터 폰트이다. 벡터 폰트들에서, 각각의 문자의 형태는 수학적 벡터들을 통해 기하학적으로 정해진다. 예를 들면, 연속하는 선분들을 통해 문자의 형태가 벡터의 합들을 합산함으로써 수학적으로 이루어질 수 있는 방식으로 상기 문자의 형태가 연속하는 선분들을 통해 정해질 수 있다. 벡터 폰트들의 가장 간단한 형태로는, 선분들이 정해진 시작점 및 종점을 갖는 직선들일 수 있다. 상기 벡터 폰트의 외형을 정하는 속성들은 크기를 갖지 않는데, 다시 말하면 다른 크기들의 폰트들에 대해 어떠한 개별 정의들도 없다. 상기 벡터 폰트의 수학적 속성 때문에, 상기 벡터 폰트의 형태는 상기 형태를 정하는 선분들의 시작 및 종점 좌표들, 및 선분들(길이, 곡률 등등)의 치수들을 스케일링함으로써 다른 크기들로 용이하게 이루어질 수 있다. 그 결과로, 비트맵 폰트들의 경우에서와 같이 상기 전자 장치에 각각의 폰트 크기에 대한 개별 폰트 집합을 저장할 필요가 없다. 또한, 벡터 폰트들은 벡터 폰트들의 스케일러빌리티(scalability)가 자신의 역량을 충분히 발휘할 경우에 고해상도를 갖는 전자 장치들에 매우 적합하다.
본원의 맥락에서, 벡터 폰트라는 용어는 또한 소위 윤곽 폰트(outline font) 및 획 폰트(stroke font)를 포함한다. 상기 윤곽 폰트는 여러 획 및 곡률 명령들에 의해 형성되는 것이 전형적이며 상기 폰트들은 스케일링 및 회전될 수 있다. 윤곽 폰트의 경우에, 윤곽들의 정의 이후에, 상기 윤곽들 사이에 남게 되는 영역은 최종 폰트 기술을 형성하도록 픽셀들로 채워진다. 상기 획 폰트는 또한 여러 획 및 곡률 명령들에 의해 형성되지만, 상기 획 폰트들은 문자들 사이에 임의의 공백이 채워지게 하도록 문자들의 윤곽들을 정하는데 사용되지 않는다. 획 폰트들은 윤곽 폰트들과 동일한 방식으로 스케일링 및 회전될 수 있지만, 상기 획 폰트들의 더 간단한 기술 때문에, 상기 폰트들의 기술에 필요한 메모리 용량은 상기 윤곽 폰트들의 경우보다 작게 된다.
상기 벡터 폰트들은 또한 문제들을 안고 있다. 매우 작은 문자를 인출할 경우에, 인접 라인들이 서로 접촉하고 있을 때 명확하지 않게 될 가능성이 있다. 이는 문자들이 복잡하고 예를 들면 중국 문자 집합에서와 같이 서로 인접한 다수의 획을 포함하는 있는 언어들에서 특히 큰 문제이다.
종래 기술의 장치에서의 전형적인 해결 방안은 각각 문제가 되는 문자 및 폰 트 크기에 대한 비트맵 또는 암시 데이터를 포함시키려고 하였다. 래스터라이저(rasterizer)는 자신의 입력으로서 폰트의 기술을 수신하며 그러한 기술을 기반으로 하여 디스플레이 장치를 통한 출력을 위해 비트맵 기술을 생성시키는 프로그램이다. 상기 래스터라이저는 상기 전자 장치의 프린터 애플리케이션 또는 운영 시스템의 일부분인 것이 전형적이다. 소정의 문자에 대하여 비트맵 기술을 생성할 경우에, 상기 래스터라이저는 다음과 같은 단계를 수행하는데, 상기 다음과 같은 단계는,
상기 전자 장치의 메모리로부터 소정의 문자에 대한 윤곽 기술을 판독하는 단계;
상기 윤곽 기술을 원하는 크기로 그리고 원하는 해상도로 스케일링하는 단계;
상기 윤곽 기술이 자체 윤곽(즉, 앤티에일리어싱(anti-aliasing))에서 가능한 한 균일한 방식으로 스케일링된 윤곽 기술을 가급적 수정하는 단계; 및
상기 문자의 윤곽 내부에 남게 되는 부분들을 픽셀들로 채우는 단계이다.
상기 벡터 폰트 외에도, 생성될 문자에 대한 엠베디드 비트맵 폰트가 또한 상기 전자 장치의 메모리 수단에서 획득될 경우에, 상기 벡터 폰트는 엠베디드 비트맵 폰트로 교체되는 것이 전형적이다. 상기 엠베디드 비트맵 폰트는 상기 벡터 폰트들 외에도 상기 전자 장치의 폰트 패킷 내에 엠베디드되며 상기 래스터라이저에 의해 생성된 벡터 폰트의 품질이 매우 불량할 경우에 이용가능한 비트맵 폰트들에 관련이 있다. 이 같은 종래 기술에 따른 엠베디드 비트맵 폰트들의 사용과 관련 된 문제는 단지 비트맵 폰트들만의 사용에서와 같은 문제, 다시 말하면 폰트 패킷의 전체 크기, 특히 다수의 문자를 갖는 폰트 집합의 상대적인 증가 문제인데, 그 이유는 각각의 폰트 크기가 개별 비트맵을 구비하여야 하기 때문이다.
전자 장치의 서로 다른 기능 블록들에 대해 한정된 메모리 용량을 갖는 전자 장치가 본 발명의 장치에서 볼 때 다른 문제를 갖는다. 특히, 개인 휴대 정보 단말기들 및 이동 통신 장치들과 같은 소형 휴대용 전자 장치들에서의 목적은 상기 장치를 구현하는데 필요한 컴포넌트들의 개수 및 크기를 최소화함으로써 소형 크기, 적은 전력 소비 및 낮은 제조 비용들을 달성하는 것이다. 그 중 한 컴포넌트는 상기 전자 장치의 메모리이다. 그 반면에, 상기 목적은 가능한 한 양호한 동작 환경, 상기 장치의 애플리케이션들 및 상기 애플리케이션들에 대한 사용자 인터페이스 옵션들을 상기 장치의 사용자에게 제공하는 것이다. 그 중 한 특징은 상기 장치의 디스플레이를 통한 가능한 한 분명한 문자들의 디스플레이 및 다른 언어 버전들, 및 폰트들이다.
종래 기술의 장치들에서, 특히 작은 벡터 폰트들 및 복잡한 문자 집합들을 갖는 문자들의 가독성이 매우 불량하여 사용자가 더 이상 상기 문자들을 판독할 수 없으며 상기 장치의 메모리가 그러한 문제가 있는 상황에서 엠베디드 비트맵 폰트들의 저장 및 사용에 대한 공백을 전혀 지니지 못하는 경우가 생길 수 있다.
현재 종래 기술에 대한 개선점이 전자 장치들의 운영 시스템들에 의해 지원되는 폰트들의 크기에 대한 스케일링을 개선하도록 창안되어 있다. 현재 창안된 장치에 의하면, 상기 전자 장치의 운영 시스템에 의해 지원되는 폰트 패킷이 다수의 문자를 포함하고, 필요하다면 여러 다른 폰트 크기들을 생성할 수 있어야 하는 경우에 전자 장치의 가용성(usability)가 개선된다. 현재 창안된 장치에 의하면, 엠베디드 벡터 폰트들은 상기 전자 장치에 의해 사용된 폰트들의 스케일링을 개선하는데 사용된다. 본 발명에 따른 전자 장치에 의해 사용된 벡터 폰트 패킷은 단일 문자에 대하여 적어도 2개의 벡터 폰트 기술들을 포함하며, 이러한 기술들은 다른 크기들의 폰트들에 최적화된다. 이러한 방식으로, 엠베디드 비트맵 폰트들의 사용은 완전히 회피된다. 본 발명에 따른 엠베디드 벡터 폰트의 최적화에서는, 가독성(readability) 및 명료성(intelligibility)에 가장 중요한 문자의 그러한 속성들이 사용자에게 전달되는 것이 가장 중요하다. 특히 획 구성 문자들, 예를 들면 중국 문자들에서는, 몇몇 개의 획들, 및 상기 획들의 수 또는 방향이 다른 무엇보다 중요하며, 그 목적은 상기 문자의 현저한 특징들이 각각의 엠베디드 벡터 폰트에 하일라이트되는 방식으로 이들을 강조하는 것이다. 또한, 더 간단한 문자들의 경우보다 어느 정도 복잡한 문자들의 경우 더 많은 엠베디드 벡터 폰트들을 생성함으로써 상기 문자들의 가독성 및 메모리 소비를 최적화하는 것이 가능하다.
현재 창안된 장치는 임의의 전자 장치에 그리고 임의의 애플리케이션에 적용될 수 있다.
본 발명의 제1 실시태양에 의하면, 스케일러블 벡터 폰트를 사용하여 문자를 출력하는 방법이 구현되며, 상기 방법은, 상기 스케일러블 벡터 폰트에 대해 서로 교체되는 적어도 제1 및 제2 스케일러블 벡터 폰트들을 정하는 단계, 및 상기 문자의 가독성을 최적화하기 위해, 상기 문자를 표시하는데 사용하도록 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들 중 하나를 선택하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 제2 실시태양에 의하면, 전자 장치로서, 상기 전자 장치에 스케일러블 벡터 폰트를 저장하기 위한 수단, 및 상기 스케일러블 벡터 폰트를 사용하여 상기 문자를 출력하는 모드를 정하기 위한 수단을 포함하는 전자 장치가 구현되며, 상기 전자 장치는, 상기 스케일러블 벡터 폰트에 대해 적어도 제1 및 제2 교체용 스케일러블 벡터 폰트들을 정하고, 및 상기 문자의 가독성을 최적화하기 위한 수단 및, 상기 문자의 표시에 사용될 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들 중 하나의 벡터 폰트를 선택하기 위한 수단을 또 포함하는 것을 특징으로 한다.
본 발명의 제3 실시태양에 의하면, 컴퓨터 소프트웨어 생성물로서, 스케일러블 벡터 폰트를 사용하여 전자 장치에서 문자를 생성하기 위한 기계 실행가능 프로그램 명령어, 및 상기 문자를 표시하기 위한 기계 실행가능 프로그램 명령어를 포함하는 컴퓨터 소프트웨어 생성물이 구현되고, 상기 컴퓨터 소프트웨어 생성물은, 상기 스케일러블 벡터 폰트에 대해 서로 교체되는 적어도 제1 및 제2 스케일러블 벡터 폰트들을 정하기 위한 기계 실행가능 프로그램 명령어, 및 상기 문자의 출력을 위해 그리고 상기 문자의 가독성을 최적화하기 위해 사용될 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들 중 하나의 벡터 폰트를 선택하기 위한 기계 실행가능 프로그램 명령어를 또 포함하는 것을 특징으로 한다.
본 발명의 제4 실시태양에 의하면, 시스템으로서, 서버, 적어도 하나의 전자 장치, 상기 전자 장치 및 상기 서버 사이에 데이터 전송 접속을 제공하기 위한 수단, 스케일러블 벡터 폰트를 정하기 위한 수단, 및 상기 스케일러블 벡터 폰트를 사용하여 상기 문자의 출력 형태를 정하기 위한 수단을 포함하는 시스템이 구현되며, 상기 시스템은, 상기 벡터 폰트에 대해 서로 교체되는 적어도 제1 및 제2 스케일러블 벡터 폰트들을 정하기 위한 수단, 상기 서버로부터 상기 전자 장치로 상기 제1 및 제2 교체 스케일러블 벡터 폰트들을 전송하고 이에 부가해서 상기 문자의 가독성을 최적화하기 위한 수단, 및 상기 문자의 출력에 사용될 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들 중 하나의 벡터 폰트를 선택하기 위한 수단을 또 포함하는 것을 특징으로 한다.
상당한 이점들이 본 발명에 의해 이루어진다. 본 발명에 따른 방법을 적용할 경우에, 엠베디드 비트맵 폰트들의 사용을 회피하는 것이 가능하며, 특히 다수의 문자를 갖는 획 구성 문자 언어의 사용시에, 디스플레이 장치 또는 프린터를 통해 종래 기술의 벡터 폰트들보다 더 양호하고 더 세부적인 출력 포맷을 생성하는 것이 가능하다. 그 외에도, 상기 전자 장치에서 폰트 패킷에 필요한 메모리 공간이 종래 기술의 엠베디드 비트맵 폰트들의 경우에서보다 작게 된다.
이하 첨부도면들을 참조하여 본 발명이 더 상세하게 설명될 것이다.
도 1은 본 발명이 적용될 수 있는 장치를 차트로 간략하게 보여주는 도면이다.
도 2는 다른 크기들의 몇몇의 공지된 폰트 타입들을 보여주는 도면이다.
도 3은 디스플레이 장치상에서 다른 폰트 크기들로 스케일링하는 종래 기술의 방법에 대한 뷰(view)를 보여주는 도면이다.
도 4는 축소된 플로 차트로 종래 기술에 따른 방법을 보여주는 도면이다.
도 5는 축소된 플로 차트로 본 발명의 한 실시예에 따른 방법을 보여주는 도면이다.
도 6은 본 발명에 필수불가결한 본 발명의 한 실시예에 따른 전자 장치의 기능들을 축소된 블록 차트로 보여주는 도면이다.
도 1을 참조하면, 도 1에는 본 발명이 적용될 수 있는 장치가 축소된 블록 차트로 도시되어 있다. 전자 장치(10)는 디스플레이 수단(1), 상기 전자 장치(10)의 기능들을 제어하기 위한 프로세서(2), 상기 전자 장치(10)의 사용시에 필요한 데이터 및 애플리케이션 소프트웨어의 저장을 위한 메모리 수단(3), 데이터를 입력하기 위한 입력 수단(4), 및 상기 전자 장치(10) 및 서버(7) 간에 데이터 전송 접속(8)을 설정하기 위한 데이터 전송 수단(6)을 포함한다. 상기 전자 장치(10)로부터 데이터를 인쇄하기 위해 프린터(5)가 제공된다. 상기 전자 장치(10)에 의해 사용된 벡터 폰트들은 또한 상기 메모리 수단(3)에 저장된다. 상기 서버(7)는 상기 벡터 폰트들을 정의 및 저장하기 위한 수단을 포함하며, 상기 서버(7)는 상기 전자 장치(10)와의 데이터 전송 접속(8)을 이루는 임의의 장치일 수 있다. 상기 데이터 전송 접속(8)은 예를 들면 무선 접속 RF(예를 들면, 이동 통신 네트워크 또는 무선 구내 정보 통신 네트워크), 단거리 무선 접속 BT(예를 들면, 블루투스(Bluetooth®), 적외선 접속 IR, 또는 유선 접속 COM을 사용하여 구현될 수 있다. 대응하는 데이터 전송 수단(도 1에 도시되지 않음)은 또한 상기 서버(7) 내에 제공되어 있다.
도 2를 참조하면, 3가지의 공지된 폰트 타입들이 도시되어 있다. 제1 폰트 타입은 소위 "트루 타입(True Type)" 또는 벡터 폰트인 "타임즈 뉴 로만(Times New Roman)"(모노타입사(Monotype Corporation)가 소유하고 있는 상표) 폰트(21)이다. 따라서, 제1 폰트 타입은 제1 폰트 크기를 갖는 종래 기술의 표준 벡터 폰트를 사용하여 출력되는 문자열 "Times New Roman"이다. 제2 폰트 타입은 또한 소위 "트루 타입" 또는 벡터 폰트인 "애리얼(Arial)"(모노타입사가 소유하고 있는 상표) 폰트(22)이며, 따라서 라인은 제2 폰트 크기를 갖는 종래 기술의 표준 벡터 폰트를 사용하여 이루어진 문자열 "Arial"의 출력이다. 제3 폰트 타입은 또한 소위 "트루 타입" 또는 벡터 폰트인 "애리얼"(모노타입사의 상표) 폰트(23)이며, 따라서 제3 폰트 크기를 갖는 종래 기술의 표준 벡터 폰트를 사용하여 이루어진 문자 열 "Arial"의 출력이다. 제4 폰트 타입은 또한 소위 "트루 타입" 또는 벡터 폰트인 "애리얼(Arial)"(모노타입사가 소유하고 있는 상표) 폰트(24)이며, 따라서 라인은 제4 폰트 크기를 갖는 종래 기술의 표준 벡터 폰트를 사용하여 이루어진 문자열 "Arial"의 출력이다. 다른 폰트 크기들 및 타입들로부터 알 수 있는 바와 같이, 문자들의 크기와 관계없이 문자들의 가독성(readability)이 또한 인쇄 버전에서 비교적 양호한 상태로 유지된다.
도 3은 종래 기술에 따른 스케일러블 벡터 폰트들을 기반으로 한 폰트 크기의 변경들을 보여주는 도면이다. 도 3a는 30 픽셀의 높이로 스케일러블 벡터 폰트의 문자들을 보여주는 도면이다. 전형적으로는, 디스플레이 장치상에 디스플레이된 대부분의 텍스트는 소위 음소 문자들인 라틴 글자들 및 숫자들로 구현된다. 음소 문자들에서는, 한 기호가 주로 하나의 음소(phoneme)를 나타낸다. 다른 공지된 음소 문자 집합들에는 예를 들면 키릴 문자, 아라비아 문자 및 히브리 문자가 있다. 도 3a - 도 3c에서는, 최초 7개의 문자가 위에 언급된 라틴 글자들 a 내지 g 이다. 상기 라틴 문자들 외에도, 정보를 표시하는데 사용되는 다른 문자들도 알려져 있다. 예를 들면, 중국에서는, 하나의 문자가 하나의 단어를 나타내는 단어 문자(word character)들이 사용되며, 일본에서는, 하나의 음절을 나타내는 것이 전형적인 소위 음절 문자들이 사용된다. 중국 및 일본 문자들은 세부들이 복잡할 수 있는 획 구성 문자(stroke-based character)들이며, 다른 문자들의 수는 라틴 문자 집합과 비교해 보면 배수이다. 예를 들면, 중국에서는, 가장 흔히 사용되는 단어 문자들의 수는 거의 10,000개이다. 더군다나, 여러 단어 및 음절 문자들은 라틴 문자들보다 복잡하다. 따라서, 종래의 디스플레이 또는 인쇄 장치를 통한 상기 문자들의 출력은 고해상도를 필요로 하며 또한 작은 폰트 크기로도 상기 문자들의 가독성이 유지되는 방식으로 상기 문자들의 스케일링을 이루는 방법을 필요로 한다. 도 3a에서는, 최초 7개의 라틴 문자들 a 내지 g 다음에, 30 픽셀의 높이를 갖는 종래 기술의 스케일러블 벡터 폰트들을 사용하여 23개의 다른 획 구성 문자들이 도시되어 있다. 획 구성 문자들에는, 특히 라인의 끝에 있는 문자들에는, 일직선상에 수 평 및 수직 획들이 존재한다. 도 3a에서는, 이러한 문자들의 가독성이 여전히 비교적 양호하며, 모든 획들이 여전히 식별가능하다.
도 3b에는, 16 픽셀의 높이를 갖는 종래 기술의 스케일러블 벡터 폰트를 사용하여 문자들이 도시되어 있다. 상기 문자들의 가독성 레벨을 보여주기 위해, 모든 문자들이 스케일링 이후에 200% 만큼 확장되었다. 도 3b에서, 라인의 끝에 있는 복잡한 획 구성 문자들의 가독성이 이미 영향을 받았고, 상기 문자들의 모든 획들은 더 이상 명확하게 식별할 수 없다.
도 3c에는, 10 픽셀의 높이를 갖는 종래 기술의 스케일러블 벡터 폰트로 문자들이 도시되어 있다. 상기 문자들의 가독성 레벨을 보여주기 위해, 모든 문자들이 스케일링 이후에 400% 만큼 확장되었다. 도 3c에서는, 라인의 끝에 있는 복잡한 획 구성 문자들의 가독성이 이미 매우 불량하며, 상기 획들 중 일부의 식별이 더 이상 불가능하다.
종래 기술의 장치에서는, 위에서 언급된 문제를 해결하기 위해, 스케일러블 벡터 폰트들이 큰 폰트 크기들을 획득하기 위해, 예를 들면 적어도 16 픽셀의 높이를 갖는 문자들을 획득하기 위해 사용되어 왔으며, 비트맵 폰트들이 작은 폰트 크기들을 획득하기 위해, 예를 들면 16 픽셀보다 작은 높이를 갖는 문자들을 획득하기 위해 사용되어 왔다. 그러나, 이러한 장치에는, 각각의 폰트 크기에 대해 개별 비트맵 폰트가 있어야 하는데, 이는 단지 스케일러블 벡터 폰트들의 경우에만 비교해 보면 폰트들의 저장에 필요한 저장 용량이 상당히 증가되게 한다. 또한, 모든 비트맵 폰트들이 전자 장치(10)의 메모리 수단에 저장되지 않을 경우에는 디스플레 이될 문자들의 품질이 영향을 받는다.
도 4에는 축소된 플로 차트로 종래 기술에 따른 방법이 예시되어 있다. 디스플레이 장치(1) 또는 프린터(5) 내의 문자들의 입력은 예를 들면 사용자에 의해 상기 전자 장치(10)의 키패드(4)를 통해 입력된 문자들, 또는 상기 전자 장치(10)에서 실행되고 있는 소프트웨어에 의해 생성된 문자들을 기반으로 할 수 있다. 도 4에 도시된 바와 같이, 상기 전자 장치(10)에서 실행되는 텍스트 처리 애플리케이션은 입력으로서 새로운 문자를 생성(블록(41))하라는 커맨드를 수신한다. 상기 새로운 문자는 예를 들면 이러한 애플리케이션에서 위에 언급된 다른 문자 시스템을 기반으로 하여 식별되며, 이후에는 상기 애플리케이션이 사용자에 의해 또는 상기 애플리케이션 자체에 의해 제공된 정의들을 기반으로 하여 상기 문자에 대해 상기 전자 장치(10)의 메모리 수단(3)에 저장된 스케일러블 벡터 폰트를 선택(블록(42))한다. 상기 벡터 폰트의 선택(블록(42)) 이후에, 폰트 크기는 표시될 문자에 대해 선택(블록(43))되며, 상기 벡터 폰트는 종래 기술의 방법에 따라 원하는 크기로 스케일링된다. 비트맵 폰트의 제어(블록(44))를 부가적으로 수행할 경우에, 상기 애플리케이션은 상기 폰트 크기를 갖는 비트맵 폰트가 스케일러블 벡터 폰트 외에도 상기 전자 장치(10)의 메모리 수단(3)에서 상기 폰트 대신에 획득될 수 있는지를 검사한다. 상기 폰트 크기에 적합한 비트맵 폰트가 획득되면, 원하는 문자가 디스플레이 장치(1) 상에서나 프린터(5) 내에서 상기 비트맵 폰트를 사용하여 출력(블록(47))되고, 상기 애플리케이션은 출력될 더 많은 문자들이 존재하는지에 관한 검사(블록(46))를 속행하고, 필요할 경우에, 상기 애플리케이션은 다음 문자의 생성 (블록(41))으로 되돌려 놓는다. 어떠한 비트맵 폰트도 획득되지 않을 경우에, 상기 문자는 기존의 스케일러블 벡터 폰트(45)를 사용하여 디스플레이 장치(1)를 통해 또는 프린터(5)를 통해 출력되며, 상기 애플리케이션은 출력될 더 이상의 문자들이 존재하는 지에 관한 검사(블록(46))를 속행하고, 필요할 경우에, 상기 애플리케이션은 다음 문자의 생성(블록(41))으로 되돌려 놓는다. 복잡한 문자들의 경우에, 상기 벡터 폰트들 외에도 여러 비트맵 폰트를 구현하는 것이 종래 기술에서 필요하였다. 이는 종래 기술의 문제를 한층 더 강조하는데, 그 이유는 각각의 크기에 따라 각각의 문자용으로 정의된 비트맵 폰트들 또는 암시들이 상기 전자 장치의 메모리 상의 상당한 로드(load)를 형성하기 때문이다.
도 5에는 축소된 플로 차트로 본 발명의 한 실시예에 따른 방법이 도시되어 있다. 도 4에 도시된 바와 같이, 디스플레이 장치(1) 또는 프린터(5) 내의 문자들의 입력은 예를 들면 사용자에 의해 상기 전자 장치(10)의 키패드(4)를 통해 입력된 문자들, 또는 상기 전자 장치(10)에서 실행되고 있는 소프트웨어에 의해 생성된 문자들을 기반으로 할 수 있다. 도 5에 도시된 바와 같이, 상기 전자 장치(10)에서 실행되는 텍스트 처리 애플리케이션은 입력으로서 새로운 문자를 생성(블록(51))하라는 커맨드를 수신한다. 상기 새로운 문자는 예를 들면 이러한 애플리케이션에서 위에 언급된 다른 문자 시스템을 기반으로 하여 식별되며, 이후에는 상기 애플리케이션이 사용자에 의해 또는 상기 애플리케이션 자체에 의해 제공된 정의들을 기반으로 하여 상기 문자에 대해 상기 전자 장치(10)의 메모리 수단(3)에 저장된 스케일러블 벡터 폰트를 선택(블록(52))한다. 상기 벡터 폰트의 선택(블록(52)) 이후 에, 폰트 크기는 출력될 문자에 대해 선택(블록(53))된다.
본 발명의 한 실시예에 의하면, 상기 전자 장치(10)의 텍스트 처리 애플리케이션은 상기 폰트 크기를 기반으로 하여 엠베디드 벡터 폰트들이 해당하는 벡터 폰트용으로 정의되었는지를 검사(블록(54))한다. 특히, 획 구성 벡터 폰트들에 대하여, 단일의 스케일러블 벡터 폰트 대신에 소정 범위의 폰트 크기들에 최적화된 여러 엠베디드 벡터 폰트를 생성하는 것이 가능하다. 소정 범위의 폰트 크기들에 적합한 벡터 폰트는 특히 획 구성 문자 시스템의 경우에 획 구성 문자의 가독성이 또한 작은 폰트 크기들에도 양호하게 유지되는 방식으로 벡터 폰트를 정의하는데 필요한 매개변수들이 최적화될 수 있게 한다. 위에 언급된 라틴 문자들과 같은 가장 간단한 문자 집합의 경우에, 필요하다면 위에 언급된 바와 같이 여전히 단지 하나의 스케일러블 벡터 구성 폰트를 사용하는 것이 가능하다. 중국 문자 집합의 경우에, 단일 폰트에 대한 엠베디드 벡터 폰트들의 수는 사용자가 폰트들에 대해 상기 전자 장치(10)의 메모리(3)의 용량을 얼마나 많이 확보할 것인지에 따라 결정될 수 있다.
상기 장치의 제조 단계에서, 상기 엠베디드 벡터 폰트는 상기 전자 장치(10)의 메모리(3)에 저장될 수 있으며, 그리고/또는 예컨대 서버(7)로부터 차후에 상기 전자 장치(10) 내로 엠베디드 폰트들을 로드하도록 하는 옵션이 제공될 수 있다. 상기 서버(7)는 스케일러블 벡터 폰트들을 정하고 그들을 상기 전자 장치(10)에 전송하는데 사용될 수 있는 인터넷 네트워크 또는 임의의 장치를 통해 서비스들을 제공하는 시스템일 수 있다. 본 발명의 한 실시예에 의하면, 상기 전자 장치(10)는 이동 통신 장치이며 상기 서버(7)는 컴퓨터이다. 따라서, 상기 컴퓨터를 사용함으로써, 사용자는 특정한 매개변수들에 따라 원래의 스케일러블 벡터 폰트로부터 필요한 엠베디드 벡터 폰트들을 생성하고, 그들을 상기 컴퓨터의 메모리 내에 저장하며, 그리고 상기 이동 통신 장치에 필요한 스케일러블 벡터 폰트들을 전송할 수 있다. 또한, 사용자는 상기 컴퓨터를 사용하여 서비스 제공자로부터 상기 스케일러블 벡터 폰트들을 다운로드하고 이어서 상기 전자 장치(10)로서 사용된 이동 통신 장치에 대한 서버(7)로서 사용되는 상기 컴퓨터 내에 상기 스케일러블 벡터 폰트들을 저장하는 것이 가능하다. 한 실시예에 의하면, 상기 엠베디드 폰트들이 상기 전자 장치에서 소정의 매개변수들에 따라 원래의 스케일러블 벡터 폰트들로부터 생성되는 것이 또한 가능하다.
본 발명의 한 실시예에 의하면, 획 구성 문자들에 대한 3개의 스케일러블 엠베디드 벡터 폰트들이 상기 전자 장치(10)의 메모리 수단(3) 내에 저장된다. 제1 스케일러블 엠베디드 벡터 폰트는 작은 크기의 폰트들, 예를 들면 12 픽셀보다 크지 않은 문자들 용으로 최적화되며, 제2 스케일러블 엠베디드 벡터 폰트는 중간 크기의 폰트들, 예를 들면 적어도 13 픽셀이지만 20 픽셀을 넘지 않는 높이를 갖는 폰트들 용으로 최적화되고, 제3 스케일러블 엠베디드 벡터 폰트는 큰 크기의 폰트들, 예를 들면 최소한 21 픽셀의 높이를 갖는 폰트들 용으로 최적화된다.
상기 폰트에 대한 엠베디드 벡터가 존재할 경우에, 정확한 엠베디드 벡터 폰트는 상기 결정된 폰트 크기를 기반으로 하여 선택(블록(56))된다. 이후에는, 상기 문자가 상기 엠베디드 벡터 폰트를 사용하여 원하는 폰트 크기로 스케일링(블 록(57))되고, 문자는 예를 들면 디스플레이 장치(1)를 통해서나 프린터(5)를 통해 출력(블록(58))된다. 해당하는 폰트에 대하여 어떠한 엠베디드 벡터 폰트도 존재하지 않을 경우에, 문자는 선택된 스케일러블 벡터 폰트를 사용하여 원하는 폰트 크기로 스케일링(블록(55))되고, 문자는 출력(블록(58))된다. 표시될 더 이상의 문자들이 존재할 경우에(블록(59)), 상기 과정은 다음 문자의 생성(51)으로부터 다시 속행된다.
본 발명의 한 실시예에 의하면, 소정의 문자 집합에 내재하는 다른 문자들에 대하여 다른 개수의 엠베디드 벡터 폰트들을 정의하는 것이 가능하다. 예를 들면, 획 구성 문자 시스템에서, 소정의 문자에 대하여 단지 하나만의 스케일러블 벡터 폰트를 정의하고 많은 세부를 포함하는 복잡한 문자에 대하여 여러 스케일러블 엠베디드 벡터 폰트들을 정의하는 것이 가능하다.
다른 폰트 크기들이 전자 장치의 애플리케이션에서 "마이크로(Micro)", "미니(Mini)", "표준(Normal)" 및 "맥시(Maxi)"와 같은 정의를 갖는 오름차순으로 나타나게 되면, 소정의 문자들에 대한 스케일러블 벡터 폰트들의 정의는 예를 들면 다음과 같은 표 1에 따를 수 있다.
Figure 112006047407608-PCT00001
이러한 예에서, "문자 A"는 문자 A의 구조 및 외형 면에서 간단하며, 이는 단지 하나만의 스케일러블 벡터 폰트 "표준(Normal)"을 사용함으로써 정의될 수 있다. "문자 B"는 또한 이러한 예에서 문자 B의 구조 및 외형 면에서 조금 더 복잡하며, 매우 작은 폰트들에서는, 가능한 한 분명한 문자 B의 출력이 스케일러블 벡터 폰트 "마이크로(Micro)"의 사용을 요구한다. 벡터 폰트 "마이크로(Micro)"는 소정의 폰트 크기보다 작은 문자들 용으로 사용되도록 정의되며 벡터 폰트 "표준(Normal)"은 이보다는 큰 문자들 용으로 사용되도록 정의된다. 이러한 예에서, "문자 C"는 문자 C의 구조 및 외형 면에서 조금 더 복잡하며, 작은 폰트들에서는, 가능한 한 분명한 문자 C의 출력은 스케일러블 벡터 폰트 "미니(Mini)"의 사용을 요구한다. 벡터 폰트 "Mini"는 소정 범위의 폰트 크기들에서 사용되도록 정의되며, 벡터 폰트 "표준(Normal)"은 상기 범위의 폰트 크기들에서 벗어난 문자들 용으로 사용되도록 정의된다. "문자 D"는 또한 이러한 예에서 문자 D의 구조 및 외형에서 가장 복잡한 문자이며, 가능한 한 분명한 문자 D의 출력은 4가지 모두의 스케일러블 엠베디드 벡터 폰트들, 즉 "마이크로(Micro)", "미니(Mini)", "표준(Normal)" 및 "맥시(Maxi)"의 사용을 요구한다. 각각의 벡터 폰트에 대해, 각각의 벡터 폰트가 사용되는 경우에 크기 범위가 정해진다. 이러한 방식으로, 큰 문자 집합들의 폰트 기술들에 대하여 상기 전자 장치(10)의 메모리(3)의 용량에 대한 소비를 훨씬 더 양호하게 최적화하는 것이 가능하다.
본 발명의 한 실시예에 의하면, 상기 전자 장치(10)의 텍스트 애플리케이션은 상기 장치의 정의들을 정확하게 알지 못하지만, 상기 전자 장치(10)의 텍스트 애플리케이션은 출력될 문자 및 폰트 정보 외에도 소정의 폰트 크기를 제시한다. 위에 언급된 4개의 벡터 폰트들의 경우에, "문자 C"에 대하여 상기 애플리케이션은 폰트 크기 "마이크로(Micro)"를 제시할 수 있으며, 그러한 스케일러블 엠베디드 벡터 폰트는 정의되어 있지 않다. 따라서, 본 발명에 의하면, 특별히 제시된 벡터 폰트가 없을 때, 보상 연계 벡터 폰트가 그 대신에 선택되는 방식으로 서로 스케일러블 엠베디드 벡터 폰트들을 연계시키는 것이 가능하다. "미니(Mini)" 및 "맥시(Maxi)"가 "문자 C" 및 "문자 B"에 대해 각각 제시될 경우에, 보상 연계 벡터 폰트는 예를 들면 각각 "마이크로(Micro)" 및 "표준(Normal)" 일 수 있다. 연계를 통해, 상기 전자 장치(10)의 모듈 설계를 개선하는 것이 가능한데, 이 경우에 애플리케이션들이 다른 기능 환경들에 보다 용이하게 전달될 수 있다.
본 발명의 한 실시예에 의하면, 상기 엠베디드 벡터 폰트들은 폰트 크기에 직접 의존하지 않는다. 그 대신에, 여러 엠베디드 벡트 폰트들은 소정의 폰트에 대해 정의되며, 상기 전자 장치(10)의 애플리케이션은 도 5의 블록(56)에서 다른 엠베디드 벡터 폰트들의 도움으로 생성된 문자들의 가독성을 비교하고, 이를 기초로 하여 소정의 엠베디드 벡터 폰트의 선택을 결정한다. 하나의 가능한 실시예에 의하면, 상기 가독성에 중요한 세부들이 문자들에 대해 정해진다. 예를 들면, 중국 문자들의 경우에, 그러한 세부들은 나란한 획들의 수, 문자의 외부 에지 상의 돌출 부분들, 여러 브랜치(branch)들의 수 등등일 수 있다. 엠베디드 벡터 폰트를 사용하여 생성된 적어도 2개의 다른 문자들은 가독성에 대해 중요한 더 많은 세부를 포함하는 것을 이러한 문자들로부터 선택하도록 서로 비교될 수 있다. 다른 한 실시예에 의하면, 다른 엠베디드 벡터 폰트들을 사용하여 생성되는 문자들이 패턴 인식 알고리즘을 기반으로 하여 상기 전자 장치 내에 저장된 문자 템플릿(character template)과 비교될 수 있으며, 표시될 문자를 통한 선택은 패턴 인식을 기반으로 하여 이루어질 수 있다.
도 6에는 본 발명의 구현에 필수불가결한 전자 장치(10)의 부품들, 및 디스플레이 장치(1) 또는 프린터(5)용으로 사용자에 의해 또는 상기 전자 장치(10)의 애플리케이션에 의해 생성되는 문자들을 변환하기 위한 단계들이 도시되어 있다. 도 1에 도시된 바와 같이, 상기 전자 장치(10)는 자체적으로 널리 알려져 있는 방식으로 마이크로프로세서, 디지털 신호 처리 유닛 등등과 같은 하나 이상의 프로세서들을 통해 구현될 수 있는 처리 유닛(2)을 포함한다. 또한, 이러한 처리 유닛(2)은 또한 상기 전자 장치의 다른 기능들이 구현될 수 있는 소위 주문형 집적회로(application specific integrated circuit; ASIC)의 일부로서 형성될 수 있다. 데이터 저장을 위해, 상기 전자 장치는 판독 전용 메모리, 랜덤 액세스 메모리, 및/또는 비-휘발성 랜덤 액세스 메모리와 같은 메모리(3)를 지닌다.
상기 제어 유닛(2)에서 동작하는 텍스트 애플리케이션(61)은 상기 장치에서 사용자에 의해서나 상기 장치의 애플리케이션에 의해 생성되는 데이터 흐름(64)을 해석하고, 원하는 문자 시스템을 기반으로 하여 상기 입력 데이터 흐름으로부터 단일 문자(65)를 생성한다. 필요한 문자 시스템 데이터는, 상기 단일 문자의 부호화 데이터를 사용하여, 필요하면 상기 전자 장치(10)의 메모리 수단(3)으로부터 상기 텍스트 애플리케이션에 의해 복구된다. 상기 문자들(65)을 형성할 경우에, 상기 텍스트 애플리케이션(61)은 폰트를 초기화하고 이를 이용하기 위한 폰트 매개변수 데이터(67; FONT INFO)를 상기 메모리(3)에서 탐색하는 것이 전형적이다. 상기 제어 회로(2)에 내재하는 래스터라이저(rasterizer; 62)는 또한 그의 입력으로서 출력될 문자 및 출력될 폰트 타입 및 폰트 크기에 관한 데이터를 수신한다. 상기 래스터라이저(62)는 디스플레이 장치(1) 또는 프린터(5)를 통한 텍스트의 출력에 필요한 기능들을 포함한다. 상기 래스터라이저(62)는 이용가능한 벡터 폰트들 및 정밀 문자 전용 인출 정보와 같은 폰트 데이터(68; 폰트 세부들(FONT DETAILS))를 상기 전자 장치(10)의 메모리 수단(3)에서 탐색하고, 이러한 데이터를 기반으로 하여, 한번에 하나의 문자를 인출한다. 본 발명에 의하면, 상기 래스터라이저(62)는 정확한 엠베디드 벡터 폰트를 선택한 다음에 상기 엠베디드 벡터 폰트를 사용하여 원하는 크기로 상기 폰트를 스케일링한다. 이후에는, 상기 래스터라이저(62)가 디스플레이 또는 프린터 인터페이스(63)를 사용하여 디스플레이 장치(1) 또는 프린터(5)에 표시될 문자의 래스터 데이터(66; 래스터 스트림(RASTER STREAM))를 전송한다. 전형적으로는, 상기 인터페이스(63)에 대하여, 상기 래스터라이저에 의해 전송된 래스터 데이터(66)는 비트맵 포맷으로 변환된다.
본 발명은 종래 기술의 장치들에 비해 몇 가지 이점이 있다. 본 발명은 사용자에게 그래픽 문자들을 표시하고 동시에 상기 문자들의 가독성과 관련하여 상기 문자들에 의해 점유된 메모리 용량을 최적화하기 위해 예를 들면 무선 통신 장치들, 개인 휴대 정보 단말기들, 휴대용 컴퓨터들, 데스크톱 컴퓨터들 및 임의의 전자 장치들에 적용될 수 있다.
이러한 맥락에서, 지금까지 본 발명의 구현 및 실시예들이 예들로써 제공되어 왔다. 당업자라면 본 발명이 위에 제공된 실시예들의 세부에 국한되는 것이 아니며 또한 본 발명의 특징들로부터 벗어나지 않고서도 본 발명이 다른 형태들로 구현될 수 있다는 점이 자명해질 것이다. 따라서, 상기 제공된 실시예들은 제한적인 것이 아니라 예시적인 것으로 고려되어야 한다. 이리하여, 본 발명을 구현 및 사용할 수 있는 가능성들은 단지 첨부된 청구의 범위만으로 한정된다. 이리하여, 청구의 범위에 의해 정의되는 본 발명을 구현하기 위한 여러 변형예와 아울러 등가의 구현예들도 또한 본 발명의 범위에 속한다.

Claims (13)

  1. 스케일러블 벡터 폰트를 사용하여 문자를 출력하는 방법에 있어서,
    상기 방법은,
    상기 스케일러블 벡터 폰트에 대해 서로 교체되는 적어도 제1 및 제2 스케일러블 벡터 폰트들을 정하는 단계, 및
    상기 문자의 가독성을 최적화하기 위해, 상기 문자를 표시하는데 사용될 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 스케일러블 벡터 폰트를 사용한 문자 출력 방법.
  2. 제1항에 있어서,
    상기 방법은,
    상기 제1 및 제2 스케일러블 벡터 폰트들에 대해 크기 범위에 대한 한계들을 정하는 단계,
    원하는 폰트 크기를 기반으로 하여 가장 적합한 스케일러블 벡터 폰트를 선택하는 단계, 및
    원하는 폰트 크기로 상기 스케일러블 벡터 폰트를 스케일링하는 단계를 더 포함하는 것을 특징으로 하는 스케일러블 벡터 폰트를 사용한 문자 출력 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 방법은,
    상기 제1 스케일러블 벡터 폰트를 사용하여 원하는 문자를 형성하는 단계,
    상기 제2 스케일러블 벡터 폰트를 사용하여 원하는 문자를 형성하는 단계,
    상기 문자의 가독성(readability)에 필수불가결한 세부들을 정하는 단계,
    상기 제1 및 제2 스케일러블 벡터 폰트들을 서로 사용하여 형성된 문자들을 비교하는 단계,
    상기 문자들의 가독성에 필수불가결한 세부들의 존재를 인식하는 단계, 및
    인식가능한 세부들의 수량을 기반으로 하여 사용될 스케일러블 벡터 폰트를 선택하는 단계를 더 포함하는 것을 특징으로 하는 스케일러블 벡터 폰트를 사용한 문자 출력 방법.
  4. 제3항에 있어서,
    상기 방법은,
    서로 인접한 획들의 구별 가능성(distinguishability)을 조사함으로써 상기 문자의 가독성을 조사하는 단계를 더 포함하는 것을 특징으로 하는 스케일러블 벡터 폰트를 사용한 문자 출력 방법.
  5. 제3항에 있어서,
    상기 방법은,
    상기 문자의 출력에서 형성될 획들에 대해 중요한 순서를 정하는 단계를 더 포함하고,
    상기 문자의 가독성은 중요한 순서에 더 의미를 두도록 정의된 획들의 식별 가능성을 조사함으로써 조사되는 것을 특징으로 하는 스케일러블 벡터 폰트를 사용한 문자 출력 방법.
  6. 제5항에 있어서,
    상기 방법은,
    나란한 획들의 개수,
    상기 문자의 외부 에지에 있는 돌출 부분들, 및
    여러 브랜치의 개수와 같은 항목들 중 적어도 하나를 기반으로 하여 중요한 순서를 정하는 단계를 더 포함하는 것을 특징으로 하는 스케일러블 벡터 폰트를 사용한 문자 출력 방법.
  7. 제3항에 있어서,
    상기 방법은,
    패턴 인식 알고리즘을 기반으로 하여 생성된 문자 템플릿들을 저장하는 단계를 더 포함하고,
    상기 문자의 가독성은 저장된 문자 템플릿들과, 다른 스케일러블 벡터 폰트들을 사용하여 생성된 문자들을, 비교함으로써 패턴 인식의 도움으로 조사되는 것을 특징으로 하는 스케일러블 벡터 폰트를 사용한 문자 출력 방법.
  8. 제1항에 있어서, 적어도 제1 문자 및 제2 문자를 포함하는 문자 집합이 사용되며, 상기 방법은,
    상기 제1 및 제2 문자들에 대해 각각 제1 및 제2 개수의 스케일러블 벡터 폰트들을 정하는 단계로서, 상기 제1 개수는 상기 제2 개수와 다른 것을 특징으로 하는 스케일러블 벡터 폰트를 사용한 문자 출력 방법.
  9. 전자 장치(10)로서,
    상기 전자 장치에 스케일러블 벡터 폰트를 저장하기 위한 수단(3), 및
    상기 스케일러블 벡터 폰트를 사용하여 상기 문자의 포맷을 결정하기 위한 수단(2)을 포함하는 전자 장치(10)에 있어서,
    상기 전자 장치(10)는,
    상기 스케일러블 벡터 폰트에 대해 서로 교체되는 적어도 제1 및 제2 스케일러블 벡터 폰트들을 정하고, 상기 문자의 가독성을 최적화하기 위한 수단(2,3), 및
    상기 문자의 출력에 사용될 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들 중 하나의 벡터 폰트를 선택하기 위한 수단(2,3)을 또 포함하는 것을 특징으로 하는 전자 장치(10).
  10. 제9항에 있어서,
    상기 전자 장치는,
    상기 제1 및 제2 스케일러블 벡터 폰트들의 크기 범위에 대한 한계들을 정하기 위한 수단(2),
    원하는 폰트 크기를 기반으로 하여 상기 스케일러블 벡터 폰트를 선택하기 위한 수단(2), 및
    원하는 폰트 크기로 상기 선택된 스케일러블 벡터 폰트를 스케일링하기 위한 수단(2,3)을 또 포함하는 것을 특징으로 하는 전자 장치(10).
  11. 제9항에 있어서,
    상기 전자 장치(10)는,
    상기 제1 스케일러블 벡터 폰트를 사용하여 원하는 문자를 생성하기 위한 수단(2,3),
    상기 제2 스케일러블 벡터 폰트를 사용하여 원하는 문자를 생성하기 위한 수단(2,3),
    상기 문자의 가독성(readability)에 필수불가결한 세부들을 정하기 위한 수단(2,3),
    상기 제1 및 제2 스케일러블 벡터 폰트들을 사용하여 생성된 문자들을 비교하기 위한 수단(2),
    상기 제1 및 제2 스케일러블 벡터 폰트들을 사용하여 형성된 문자들의 가독성에 필수불가결한 세부들을 식별하기 위한 수단(2), 및
    식별된 세부들의 개수를 기반으로 하여 사용될 스케일러블 벡터 폰트를 선택 하기 위한 수단(2)을 또 포함하는 것을 특징으로 하는 전자 장치(10).
  12. 컴퓨터 소프트웨어 생성물로서,
    스케일러블 벡터 폰트를 사용하여 전자 장치(10)에서 문자를 생성하기 위한 기계 실행가능 프로그램 명령어, 및
    상기 문자를 표시하기 위한 기계 실행가능 프로그램 명령어를 포함하는 컴퓨터 소프트웨어 생성물에 있어서,
    상기 컴퓨터 소프트웨어 생성물은,
    상기 스케일러블 벡터 폰트에 대해 서로 교체되는 적어도 제1 및 제2 스케일러블 벡터 폰트들을 정하기 위한 기계 실행가능 프로그램 명령어, 및
    상기 문자의 표시를 위해 그리고 상기 문자의 가독성을 최적화하기 위해 사용될 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들 중 하나의 벡터 폰트를 선택하기 위한 기계 실행가능 프로그램 명령어를 또 포함하는 것을 특징으로 하는 컴퓨터 소프트웨어 생성물.
  13. 시스템으로서,
    서버(7),
    적어도 하나의 전자 장치(10),
    상기 전자 장치(10) 및 상기 서버(7) 사이에 데이터 전송 접속을 제공하기 위한 수단(6,7,8),
    스케일러블 벡터 폰트를 정하기 위한 수단(3,7), 및
    상기 스케일러블 벡터 폰트를 사용하여 상기 문자의 출력을 위한 포맷을 결정하기 위한 수단(2)을 포함하는 시스템에 있어서,
    상기 시스템은,
    상기 벡터 폰트에 대해 서로 교체되는 적어도 제1 및 제2 스케일러블 벡터 폰트들을 정하기 위한 수단(7),
    상기 서버(7)로부터 상기 전자 장치(10)로 상기 제1 및 제2 교체 스케일러블 벡터 폰트들을 전송하고 상기 문자의 가독성을 최적화하기 위한 수단(6,8), 및
    상기 문자의 표시를 위해 사용될 상기 적어도 제1 및 제2 스케일러블 벡터 폰트들로부터 하나의 벡터 폰트를 선택하기 위한 수단(2,3)을 또 포함하는 것을 특징으로 하는 시스템.
KR1020067013308A 2003-12-31 2004-12-22 폰트들의 스케일링 장치 KR20060103945A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20035250 2003-12-31
FI20035250A FI20035250A (fi) 2003-12-31 2003-12-31 Fonttien skaalauksen järjestäminen

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020087024033A Division KR20080094850A (ko) 2003-12-31 2004-12-22 폰트들의 스케일링 장치

Publications (1)

Publication Number Publication Date
KR20060103945A true KR20060103945A (ko) 2006-10-04

Family

ID=29763649

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020067013308A KR20060103945A (ko) 2003-12-31 2004-12-22 폰트들의 스케일링 장치
KR1020087024033A KR20080094850A (ko) 2003-12-31 2004-12-22 폰트들의 스케일링 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020087024033A KR20080094850A (ko) 2003-12-31 2004-12-22 폰트들의 스케일링 장치

Country Status (6)

Country Link
US (1) US7609268B2 (ko)
JP (1) JP2007517251A (ko)
KR (2) KR20060103945A (ko)
CN (1) CN100573655C (ko)
FI (1) FI20035250A (ko)
WO (1) WO2005064588A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094591A1 (en) * 2005-10-24 2007-04-26 Etgen Michael P System and method for text legibility enhancement
US7913165B2 (en) * 2005-12-15 2011-03-22 Kyocera Corporation Inserting objects using a text editor that supports scalable fonts
CN101008940B (zh) * 2006-01-27 2012-08-01 北京书生国际信息技术有限公司 自动处理字体缺失的方法与装置
US8077974B2 (en) 2006-07-28 2011-12-13 Hewlett-Packard Development Company, L.P. Compact stylus-based input technique for indic scripts
JP2008109394A (ja) * 2006-10-25 2008-05-08 Canon Inc 画像処理装置及びその方法、プログラム
JP4873554B2 (ja) 2006-12-25 2012-02-08 株式会社リコー 画像配信装置および画像配信方法
US20080303822A1 (en) * 2007-06-09 2008-12-11 Nathan Daniel Taylor Font metadata
TWI358946B (en) * 2007-10-15 2012-02-21 Mstar Semiconductor Inc Data for processing font data in embedded system
JP4386123B2 (ja) * 2007-10-24 2009-12-16 セイコーエプソン株式会社 表示装置および表示方法
JP5183286B2 (ja) * 2008-04-15 2013-04-17 三菱電機株式会社 文字表示装置
US20110219335A1 (en) * 2010-03-08 2011-09-08 Powers John P Accommodating Very Large Fonts on Memory-Constrained Electronic Devices
CN101908216B (zh) * 2010-07-20 2014-04-30 中兴通讯股份有限公司 一种实现矢量字体的方法及装置
US9619865B2 (en) * 2012-09-17 2017-04-11 Konica Minolta Laboratory U.S.A., Inc. Resolution-independent display list
WO2019008702A1 (ja) * 2017-07-05 2019-01-10 三菱電機株式会社 描画装置及び描画方法
CN107479897B (zh) * 2017-08-23 2018-03-27 珠海安联锐视科技股份有限公司 一种在视频监控设备上使用的矢量图形界面缩放方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4331955A (en) * 1980-08-07 1982-05-25 Eltra Corporation Method and apparatus for smoothing outlines
US5579416A (en) 1986-10-27 1996-11-26 Canon Kabushiki Kaisha Character processing apparatus for selectively modifying a font pattern
JPH0821086B2 (ja) * 1986-10-27 1996-03-04 キヤノン株式会社 図形処理方法
JPH06100906B2 (ja) * 1987-02-25 1994-12-12 キヤノン株式会社 文字処理方法
JPS63235986A (ja) * 1987-03-25 1988-09-30 株式会社日立製作所 文字出力装置
JPH0747330B2 (ja) * 1988-04-18 1995-05-24 キヤノン株式会社 文字出力装置
US5562350A (en) * 1988-04-18 1996-10-08 Canon Kabushiki Kaisha Output apparatus that selects a vector font based on character size
JPH01266589A (ja) * 1988-04-18 1989-10-24 Canon Inc 文字出力装置
JP2714022B2 (ja) * 1988-08-24 1998-02-16 株式会社日立製作所 文字データ管理システムおよび文字データ管理方法
JP2918632B2 (ja) * 1990-06-11 1999-07-12 キヤノン株式会社 文字処理方法及び装置
JPH04177294A (ja) * 1990-11-12 1992-06-24 Ricoh Co Ltd ベクトルフオント展開装置
JPH04318893A (ja) * 1991-04-18 1992-11-10 Fuji Xerox Co Ltd 文字処理装置
JPH05165453A (ja) * 1991-12-12 1993-07-02 Fujitsu Ltd 文字データ処理装置
JP2922738B2 (ja) * 1992-11-30 1999-07-26 キヤノン株式会社 輪郭形成方法及び装置
JPH0784739A (ja) * 1993-09-16 1995-03-31 Brother Ind Ltd データ変換装置
US5532350A (en) * 1994-02-15 1996-07-02 Rhone-Poulenc Inc. Crosslinked polysaccharides useful as absorbent materials
KR0172581B1 (ko) * 1996-04-02 1999-03-30 이진기 단계적 표현 가능형 폰트 그 변환 방법 및 렌더링 방법
JPH11190990A (ja) * 1997-12-26 1999-07-13 Ricoh System Kaihatsu Kk アウトラインフォント表示・印刷方法
US7251365B2 (en) * 2002-07-03 2007-07-31 Vadim Fux Scalable stroke font system and method

Also Published As

Publication number Publication date
FI20035250A0 (fi) 2003-12-31
US7609268B2 (en) 2009-10-27
JP2007517251A (ja) 2007-06-28
CN1906659A (zh) 2007-01-31
CN100573655C (zh) 2009-12-23
US20050146528A1 (en) 2005-07-07
FI20035250A (fi) 2005-07-01
KR20080094850A (ko) 2008-10-24
WO2005064588A1 (en) 2005-07-14

Similar Documents

Publication Publication Date Title
US5682158A (en) Code converter with truncation processing
US7228501B2 (en) Method for selecting a font
KR20060103945A (ko) 폰트들의 스케일링 장치
US5784071A (en) Context-based code convertor
US8218156B2 (en) Global printing system and method of using same for formatting labels and barcodes that are encoding scheme independent
US20060181532A1 (en) Method and system for pixel based rendering of multi-lingual characters from a combination of glyphs
US9865071B2 (en) Simulating variances in human writing with digital typography
CN107562480B (zh) 一种pos机多国语言的实现方法及其系统
KR970071228A (ko) 단계적 표현 가능형 폰트(Progressively Renderable Font), 그 변환 방법 및 렌더링 방법
JPWO2008015825A1 (ja) 書字フォントデータ及び文字出力システム
US5999706A (en) Method and apparatus for substituting a 2-byte font character standard in a printer
US20100238178A1 (en) Information processing apparatus, control device, and program
JP4905899B2 (ja) 情報処理システム、情報処理プログラムおよび可読記録媒体
US20040225773A1 (en) Apparatus and method for transmitting arbitrary font data to an output device
KR100856775B1 (ko) 필기 데이터 기반 사용자 특화 필체 제공 시스템
KR20080110485A (ko) 기호 표시 장치, 프린터, 기호 표시 방법, 폰트데이터베이스, 기억 매체
KR20040111006A (ko) 문자 발생 장치, 문자 발생 방법, 및 저장 매체
JPS61250768A (ja) 変換辞書更新装置
JP3320566B2 (ja) 文字記号変換装置、及びプリンタ
JP2000067241A (ja) データ出力装置及び記憶媒体
JPH02272492A (ja) ドットパターン生成装置
KR19980060758A (ko) 영문전용 프린터에서의 한글 프린팅 방법
KR20050059530A (ko) 한글 표시 처리 방법 및 장치
JP2569489C (ko)
JPWO2007074792A1 (ja) データ処理装置、データ処理方法、電子情報機器、制御プログラムおよび可読記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20080930

Effective date: 20100211