KR100860210B1 - 폰트 선택 방법 - Google Patents

폰트 선택 방법 Download PDF

Info

Publication number
KR100860210B1
KR100860210B1 KR1020030016296A KR20030016296A KR100860210B1 KR 100860210 B1 KR100860210 B1 KR 100860210B1 KR 1020030016296 A KR1020030016296 A KR 1020030016296A KR 20030016296 A KR20030016296 A KR 20030016296A KR 100860210 B1 KR100860210 B1 KR 100860210B1
Authority
KR
South Korea
Prior art keywords
font
computer
fonts
language
glyphs
Prior art date
Application number
KR1020030016296A
Other languages
English (en)
Other versions
KR20040040297A (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 KR20040040297A publication Critical patent/KR20040040297A/ko
Application granted granted Critical
Publication of KR100860210B1 publication Critical patent/KR100860210B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)
  • Digital Computer Display Output (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

본 발명은 일반적으로 다수의 기존 폰트를 단일 폰트 패밀리 또는 "가상 폰트(virtual font)"로 분류하기 위해, 마크업 언어(mark-up language) 문서를 사용하는 폰트 선택 방법에 관한 것이다. 마크업 언어 문서는 패밀리 내의 개별 폰트들이 사용되어질 조건들에 관한 규칙들을 포함한다. 이에 따라, 예컨대, 폰트 개발자가 여러 기존 폰트들을 이용하여 효과적인 방식으로 국제적인 폰트를 생성할 수 있게 된다.
마크업 언어(mark-up language), 폰트, 단일 폰트 패밀리, 가상 폰트, 국제적인 폰트

Description

폰트 선택 방법{METHOD FOR SELECTING A FONT}
첨부된 청구항이 본 발명의 특징을 특정하여 나타내기는 하지만, 본 발명은 첨부한 도면과 관련한 이하의 상세한 설명으로부터 보다 잘 이해될 수 있을 것이다.
도 1은 본 발명이 실행될 수 있는 컴퓨터 네트워크의 일례를 예시하는 도면.
도 2는 본 발명의 적어도 일부가 구현될 수 있는 컴퓨터의 일례를 예시하는 도면.
도 3은 본 발명의 실시예를 예시하는 도면.
<도면의 부호에 대한 간단한 설명>
10: 컴퓨터
11 : 네트워크
14 : 프로세싱부
20 : 표시부
22 : 운영 체제
25 : 키보드
26 : CAD 프로그램
27 : 프린터
본 발명은 일반적으로 폰트 선택 기술에 관한 것이고, 보다 구체적으로는, 마크업 언어(mark-up language) 문서를 사용하여 하나 이상의 선택 기준을 정의하는 폰트 선택 기술에 관한 것이다.
폰트는 그들 각각이 하나의 문자, 글자 또는 기호(letter, character or symbol)를 묘사하는, 표시 가능한 이미지, 또는 "글리프(glyph)" 세트이다. 각각의 글리프는 인쇄기에서 사용되는 활자 블록에 해당하는 컴퓨터 시대의 등가물로서 간주될 수 있다. 폰트를 개발하는 것은 숙련을 요하는 노동 집약적 과제이다. 인쇄 기술자는 하나의 폰트에 각각의 글리프를 공들여 만드는데 많은 시간을 소비하고, 글리프 그 자체의 형상 뿐만 아니라 그 글리프가 다른 글리프들과 조합하여 어떻게 보이게 될지도 고려한다. 단일 언어에 대한 폰트 개발은 힘든 일이나, 다수의 언어를 커버하기 위한 단일 폰트 개발은 훨씬 더 어려운 일이다. 예를 들어, 평이한 영어(US 또는 UK)에 대한 폰트는 100개 이하의 글리프를 필요로 할 수 있지만, 라틴계 알파벳으로 쓰여진 모든 활자체(script)를 지원하기 위한 폰트는 수천 글리프를 필요로 한다. 유사하게, 아라비아어의 기본 식자(typesetting)는 대략 100개의 글리프로 달성될 수 있지만, 아라비아어 기록 시스템에 근거하는 모든 언어를 설정하는 것은 수천 글리프를 필요로 한다. 키릴어, 그리스어, 히브리어 및 타이어 등과 같은, 그 외의 많은 기록 시스템들 역시 확장된 글리프 레퍼토리의 토대로서 사용되어 왔고, 따라서 스케일에 있어 유사한 도전 과제를 제공한다. 마지막으로, 변형에 있어 제한되지만, 중국어, 일본어 및 한국어 등의 동아시아 활자체는 수만 글리프를 포함한다. 따라서, 실질적인 국제 폰트는 50,000 내지 100,000 정도의 글리프를 필요로 한다.
메모리를 절약하기 위해, 많은 국제 폰트들은 예컨대, 다수의 문자 언어들에 대해 단일 글리프- 비록, 그 글리프가 단지 하나의 언어에 대해서만 적당한 것이라 할지라도 -를 사용함으로써 글리프를 절감한다. 예를 들어, 몇몇 동아시아 표의 문자(ideographic character)는 중국어를 말하는 사람들과 일본어를 말하는 사람들에 의해 서로 다르게 쓰여진다. 그러나, 여러 국제 폰트에 대한 토대를 형성하는 유니코드 시스템(Unicode system)은 그러한 문자에 대해 종종 단지 하나의 코드만을 사용한다. 따라서, 국제 폰트를 개발하는 인쇄 기술자는 어느 문자의 중국어 버전을 구성하거나 또는 그 문자의 일본어 버전을 구성하거나 중 하나를 선택지 않으면 안될 수도 있다. 또한, 일본어 표의 문자 및 중국어 표의 문자들 간에는 유니코드로써 설명될 수 없는 문체적 차이점이 종종 존재한다. 이 때문에, 특정한 표의 문자의 중국어 및 일본어 버전이 획수 및 획의 배열 면에서 동일하다 하더라도, 일본어 문서에서 중국어 폰트로부터 글리프를 표현하거나 또는 그 반대로 하는 것이 반드시 적절한 것은 아니므로, 인쇄 기술자에게 유사한 문제가 주어진다.
폰트 개발자는 여러 단일 기록 시스템 폰트로부터 글리프를 수집하여, 국제 폰트의 목적에 부합하고, 글리프가 웨이트(weight) 및 크기에 있어 균형 잡힐 수 있도록 처리함으로써, 국제 폰트를 구축하려고 할 수 있다. 이러한 목적에 폰트를 부합시킬 때, 폰트 개발자는 기록 시스템 중 일부 그룹은 차이점 보다는 유사점이 더 많다는 것을 발견할 수 있다. 예를 들어, 라틴어, 그리스어, 키릴어 활자체는 대문자 및 소문자, 그리고 셰리프 및 산셰리프 스타일의 사용 등, 많은 특징을 공유한다. 반대로, 아라비아어와 같은 기록 시스템의 경우, 어느 활자체도, 예컨대, 라틴어 및 키릴어 만큼, 다른 활자체에 그다지 직접적으로 대응하지는 않지만, 엄청나게 다양한 인쇄 스타일을 갖는다. 따라서, 다양한 목적으로 국제 폰트들을 작성할 때, 폰트 개발자는 기존 폰트들을 여러 방식으로 믹스하고 매칭시킬 수 있고, 심지어는 단일 기록 시스템에 대한 폰트를 다른 여러 국제 폰트들에 통합시킬 수도 있다. 예를 들어, MICROSOFT® 사에서 사용되는 "Arial' 및 'Times New Roman' 폰트는 서로 다른 라틴어 글리프 세트를 포함하지만, 동일한 아라비아어 글리프 세트를 사용한다.
요약하면, 국제 폰트 개발자들은 현재의 폰트 개발 기술을 사용할 때 여러 가지 문제점에 직면한다. 하나의 문제는 동일한 글리프를 다수의 폰트로 구성하고, 테스트하고 유지하는 데 시간이 소모된다는 것이다. 다른 문제는 크기 면에서 정확하게 매칭시키기 위해, 어떤 글리프 세트는 크기를 재 조절할 필요가 있는데, 이는 대개 비용이 많이 드는 작업이다. 또 다른 문제는 글리프 수가 현재의 폰트 기술에서 허용되는 최대치(TrueType/OpenType에 대해 65536)를 자주 초과한다는 것이다. 결과적으로, 상술한 바로부터 알 수 있듯이, 동일한 글리프를 다수의 폰트로 표현하게 되면 메모리가 낭비된다.
소모된 메모리는 프린터 폰트에 있어 특히 우려된다. 오늘날 프린터의 대부분은 내장형 폰트를 포함한다. 따라서, 프린터 폰트를 사용할 때, 컴퓨터 프로그램은 프린터에 전체 글리프를 보내는 것이 아니라, 문자 코드를 보내기만 하면 된다. 그러나, 프린터에 포함되지 않은 폰트를 사용할 때, 컴퓨터 프로그램은 그 폰트를 프린터에 다운로드할 필요가 있다. 이는 프린트 작업 동안 생성되는 임시 파일의 크기와, 클라이언트 워크스테이션에서 문서를 프린트하는 데 필요한 시간과, 프린트 서버에서 문서를 프린터에 전송하는 데 필요한 시간을 증가시킨다. 또한, 이로 인해 프린터 내부의 귀중한 메모리가 소모된다.
상술한 바와 같이, 본 명세서에서는 폰트를 선택하는 방법이 제공된다. 본 발명의 다양한 실시예에 따르면, 마크업 언어 문서는 주어진 상황 하에서 복수의 폰트 중 어느 것을 사용할지를 판정하기 위한 규칙을 포함한다. 또한, 마크업 언어 문서는 선택된 폰트로부터 얻어진 글리프를 확대시킬지 혹은 축소시킬지, 또는 어떤 방법으로 그렇게 할지에 대하여 규정할 수도 있다. 어느 폰트를 사용할지의 판정은 그 폰트가 사용될 문서와 관련된 언어 또는 지역 정보와 같은 인자들에 의해 영향을 받는다.
본 발명의 부가적인 양태는 이하 첨부된 도면을 참조하여 상세히 설명되는 실시예에 대한 설명으로부터 명백해질 것이다.
삭제
본 발명은 일반적으로 다수의 기존 폰트를 단일 폰트 패밀리 또는 "가상 폰트(virtual font)"로 분류하기 위해, 마크업 언어 문서를 사용하는 폰트 선택 방법에 관한 것이다. 마크업 언어 문서는 패밀리 내의 개별 폰트들이 사용되어질 조건들에 관한 규칙들을 포함한다. 이에 따라, 예컨대, 폰트 개발자가 여러 기존 폰트들을 이용하여 효과적인 방식으로 국제적인 폰트를 생성할 수 있게 된다.
본 발명의 다양한 실시예에 대한 설명에 앞서, 본 발명의 다양한 실시예가 실행될 수 있는 컴퓨터 및 네트워킹 환경에 대해 설명한다. 반드시 그럴 필요는 없지만, 본 발명은 컴퓨터에 의해 실행되는 프로그램에 의해 구현될 수도 있다. 일반적으로, 프로그램은 특정 작업을 실행하거나, 특정 추상 데이터 타입을 구현하는 루틴, 객체, 컴포넌트, 데이터 구조(routines, objects, components, data structures) 등을 포함한다. 여기서 사용되는 "프로그램"이라는 용어는 단일 프로그램 모듈 또는 협력하여 동작하는 복수의 프로그램 모듈을 의미할 수 있다. 여기서 사용되는 "컴퓨터"라는 용어는 퍼스널 컴퓨터(PCs), 포켓용 디바이스, 멀티-프로세서 시스템, 마이크로프로세서 기반 프로그램가능 가전 제품, 네트워크 PCs, 미니컴퓨터, 메인프레임 컴퓨터, 마이크로 프로세서 또는 마이크로 컨트롤러를 구비한 가전 제품, 루터, 게이트웨이, 허브 등과 같이, 하나 이상의 프로그램을 전자적으로 실행하는 디바이스를 포함한다. 또한, 본 발명은 분산 처리 환경에서도 이용될 수도 있는데, 이 분산 처리 환경에서는 통신 네트워크를 통해 링크되는 원격 프로세싱 디바이스에 의해 작업이 실행된다. 분산 처리 환경에서는, 프로그램은 로컬 및 원격 메모리 기억 디바이스 모두에 위치할 수 있다.
이하, 본 발명에서 사용될 수 있는 네트워크 환경의 일례를 도 1을 참조하여 설명한다. 이 예시적인 네트워크는 구름 모양으로 표현된 네트워크(11)를 통해 서로 통신하는 수 개의 컴퓨터(10)를 포함한다. 네트워크(11)는 라우터, 게이트웨이, 허브 등 잘 알려진 여러 구성 요소들을 포함할 수 있고, 컴퓨터(10)가 유선 및/또는 무선 매체를 통해 통신할 수 있게 한다. 네트워크(11)를 통해 서로 상호 작용할 때, 하나 이상의 컴퓨터는 다른 컴퓨터에 대하여 클라이언트, 서버 또는 피어(peer)로서 작용한다. 따라서, 여기서 설명하는 특정한 실시예가 이들 모든 타입의 컴퓨터를 언급하지 않더라도, 본 발명의 다양한 실시예는 클라이언트, 서버, 피어 또는 그들의 조합에서 실시될 수 있다.
도 2를 참조하면, 여기서 설명하는 본 발명의 전부 또는 일부가 구현될 수 있는 컴퓨터에 대한 기본 구성의 일례를 도시한다. 가장 기본적인 구성으로, 컴퓨터(10)는 통상적으로 적어도 하나의 프로세싱부(14) 및 메모리(16)를 포함한다. 프로세싱부(14)는 본 발명의 다양한 실시예에 따라 명령들을 실행하여 작업을 수행한다. 그러한 작업을 수행하는 데 있어서, 프로세싱부(14)는 컴퓨터(10)의 다른 부분 및 컴퓨터(10) 외부의 디바이스에 전자 신호를 전달하여, 어떤 결과를 유발시킨다. 이들 명령의 적어도 일부는 운영 체제(22)에 의해 발생된다. 운영 체제(22)는 여러 사용자 모드 및 커널 모드 프로그램들을 포함할 수 있다. 컴퓨터(10)의 정확한 구성 및 타입에 따라, 메모리(16)는 휘발성(RAM 등), 불휘발성(ROM 또는 플레쉬 메모리 등) 또는 이들 둘의 조합일 수 있다. 이러한 가장 기본적인 구성은 도 2에서 파선(18)으로 도시된다. 또한, 컴퓨터는 추가적인 특징/기능을 가질 수 있다. 예를 들어, 컴퓨터(10)는, 이에 제한되지는 않지만, 자기 또는 광 디스크 또는 테이프를 포함하는 추가적인 기억 장치(착탈식 기억 장치(removable storage: 21) 및/또는 비착탈 기억 장치(non-removable storage: 23))를 포함할 수도 있다. 컴퓨터 기억 매체는 컴퓨터-실행가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 포함하는, 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성과 불휘발성, 및 착탈식과 비착탈식 매체를 포함한다. 컴퓨터 기억 매체는, 이에 제한되지는 않지만, RAM, ROM, EEPROM, 플래시 메모리, CD-ROM, DVD(digital versatile disk) 또는 다른 광학적 기억 장치, 자기 카세트, 자기 테이프, 자기 디스크 기억 장치 또는 다른 자기 기억 디바이스, 또는 바람직한 정보를 저장하는 데 사용될 수 있고 또한 컴퓨터(10)에 의해 액세스될 수 있는, 임의의 다른 매체를 포함한다. 임의의 그러한 컴퓨터 기억 매체는 컴퓨터(10)의 일부일 수 있다.
또한, 컴퓨터(10)는 디바이스가 다른 디바이스와의 통신을 가능케하는 통신 접속을 포함할 수 있다. 통신 접속은 통신 매체의 일례이다. 통신 매체는 통상적으로 반송파와 같은 변조된 데이터 신호 또는 다른 전송 메커니즘으로 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 구현하고, 임의의 정보 전달 매체를 포함한다. 한정은 아니지만, 예로서, 통신 매체는 유선 네트워크 또는 다이렉트 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 여기서 사용되는 "컴퓨터 판독가능 매체"라는 용어는 컴퓨터 기억 매체 및 통신 매체 둘 다를 포함한다.
또한, 컴퓨터(10)는 키보드(25), 마우스, 펜, 음성 입력 디바이스, 터치 입 력 디바이스 등과 같은 입력 디바이스를 갖는다. 표시부(20), 스피커, 프린터(27) 등과 같은 출력 디바이스 역시 포함될 수 있다. 이러한 모든 디바이스들은 해당 분야에서 잘 알려졌으므로, 여기서 길게 논의할 필요는 없다.
이하에서는, 본 발명의 실시예에 따라, 다수의 폰트들이 어떻게 단일 가상 폰트로 조직화될 수 있는지에 대한 예에 대하여 도 3을 참조하여 설명한다. 이러한 실시예에서, CAD(computer automated design) 프로그램(26)은 컴퓨터(10)(도 2)에서 응용 프로그램으로서 실행되는 반면, 글리프 발생 모듈(28)은 운영 체제(22)의 일부로서 실행된다. 실행 중에, CAD 프로그램(26)은 CAD 파일(17)에 대해 동작을 실행하는 데, 이 파일은 문서에 관한 프로퍼티 정보와 함께 CAD 문서를 포함한다. 운영 체제(22)는 컴퓨터(10)의 사용자가 조작하는 언어와 관련된 데이터를 얻고, 이러한 정보를 글리프 발생 모듈(28)에 제공한다. 운영 체제(22)는 다양한 소스로부터 사용자 언어 정보를 얻을 수 있지만, 이 예에서는, 운영 체제(22)는 CAD 파일(27) 내에 포함된 프로퍼티 정보에 기초하여 사용자 언어를 판정한 것으로 가정한다. 다른 실시예에서, 운영 체제(22)는 키보드(25)의 위치 설정으로부터 정보를 얻을 수 있다(도 2). 또한, 사용자가 타이핑할 때, 운영 체제(22)는 각각의 키스트로크에 대한 유니코드 값을 나타내는 키보드(25)로부터 입력을 수신한다.
글리프 발생 모듈(28)은 표시부(20)에 나타나게 되는 글리프를 발생시킨다. 글리프 발생 모듈(28)은 이러한 글리프들을 하나 이상의 폰트 파일로부터 얻는다. 도 3에 도시된 폰트 파일(32, 34, 36, 38)과 같은 폰트 파일은 컴퓨터(10)(도 2)의 메모리 및/또는 프린터(27)의 메모리에 저장된다. 글리프를 얻기 위한 폰트 파일 또는 파일들을 결정하기 위해, 글리프 발생 모듈(28)은 가상 폰트 파일(30)을 파싱(parsing)한다. 글리프 발생 모듈(28)은 운영 체제(22)로부터 수신한 데이터(표시될 언어에 관한)를 사용하여, 가상 폰트 파일(30)로부터 적절한 폰트 파일을 선택한다. 그 후, 글리프 발생 모듈(28)은 선택된 폰트 파일로부터 적당한 글리프를 얻고, 그들을 표시부(20)에 표시한다.
문서가 프린터(27)에서 인쇄될 때, 글리프 발생 모듈(28)은 다소 다른 방식으로 동작한다. 인쇄하는 경우에, 글리프 발생 모듈(28)은 사용될 폰트를 선택하지만, 실제로 프린터 글리프를 발생시키지는 않는다. 대신, 글리프 발생 모듈(28)은 인쇄될 글리프의 유니코드 값과, 필요한 스케일링 데이터와 같은 임의의 메트릭들(metrics)와 함께, 사용될 폰트의 명칭을 프린터(27)에 전송한다. 프린터(27)가 그 메모리 내에 선택된 폰트의 폰트 파일을 저장하고 있다면, 프린터(27)는 글리프를 인쇄한다. 이에 반해, 프린터(27)가 정확한 폰트를 갖고 있지 않다면, 프린터(27)는 이러한 사실을 글리프 발생 모듈(28)에 알린다. 그러면, 글리프 발생 모듈(28)은 가상 폰트 파일(30)로부터 다른 폰트를 선택하고, 인쇄될 글리프의 유니코드 값과 임의의 필요한 스케일링 데이터와 함께, 새롭게 선택된 폰트의 명칭을 프린터(27)에 전송한다. 글리프 발생 모듈(28)은 프린터(27)가 소유하는 폰트를 찾을 때까지, 이러한 절차를 반복할 수 있다. 글리프 발생 모듈(28)이 프린터(21)가 소유하는 폰트를 찾지 못하면, 글리프 발생 모듈(28)은 가상 폰트 파일(30) 내에 지정되고 컴퓨터(10)의 메모리 내에 저장되는 대체 폰트를 선택한다. 그 후, 글리프 발생 모듈(28)은 대체 폰트의 적절한 글리프를 검색하여, 그들을 프린터(27)에 보낸다. 본 발명의 다양한 실시예에서, 대체 폰트는 프린터(27)에서 인쇄되기에 적당한 크기인 글리프를 갖는다.
도 3에 대한 설명을 계속하면, Microsoft San Serif 폰트 파일(32), Chinese(traditional) #2 폰트 파일(34), Math Symbol #5 폰트 파일(36) 및 Japanese #10 폰트 파일(38)이 메모리(16), 착탈식 기억 장치(21), 및/또는 비착탈식 기억 장치(23)에 저장된다(도 2). 이 예에 있어, 가상 폰트 파일(30)은 CAD 프로그램(26)의 사용자 인터페이스에서 라틴 문자, 전통 중국 문자, 일본 문자 및 수학 기호를 표시할 목적으로 작성되었다. 따라서, CAD 프로그램(26)의 저작자는 이러한 목적으로 사용될 가장 적절한 폰트로서, 네 개의 폰트 - Microsoft San Serif, Chinese(traditional) #2, Math Symbol #5 및 Japanese #10 - 를 선택하였다. 폰트 파일(32, 34, 36, 38) 각각은 글리프 세트를 포함한다. 가상 폰트 파일(30)은 네 개의 폰트 각각이 어떻게, 언제, 그리고 어떤 조건하에 CAD 프로그램(26)에 표시되는지를 글리프 발생 모듈(28)에 알리는 명령을 갖는 마크업 언어 텍스트를 포함한다. 이 예에 있어서, 가상 폰트 파일(30)은 다음 XML(Extensible Mark-up Language) 텍스트를 포함하는 것으로 가정한다 :
<Font Family
<Name xml:lang = "en-US"> name = "MS International"</Name>
<Name xml:lang = "zh-TW">國際</Name>
<Name xml:lang = "ja">インタ-ナシヨナル</Name>
<Range UnicodeRange = "2200 - 22FF" TargetFontFamily = "Math Symbol #5"/>
<Range xml:lang = "zh-TW" TargetFontFamily = "Chinese
(traditional) #2"/>
<Range xml:lang = "ja" TargetFontFamily = "Japanese #10"/>
<Range xml:lang = "en-US" Unicode Range = "4E00 - 9FAF"
TargetFontFamily = "Chinese(traditional) #2" size = "1.1"/>
<Range xml:lang = "en-US" family = "Microsoft San Serif"/>
<Range TargetFontFamily = "Arial"/>
</Font Family>
XML 텍스트 블록의 처음 및 마지막 태그가 지시하는 바와 같이, 사실상, 가상 폰트 파일(30)은 Microsoft San Serif, Chinese(traditional) #2, Math Symbol #5 및 Japanese #10 폰트를 포함하는 폰트 패밀리를 기술한다. XML 텍스트의 - "Name" 태그를 갖는 - 첫 번째 세 개 라인들은 가상 폰트 파일(30)에 의해 표현된 폰트 패밀리에 어떤 명칭이 주어지는지에 관한 조건부 명령을 포함한다. 예를 들어, 라인 <Name xml:lang = "en-US"> name = "MS International"</Name>는 사용자의 언어가 English-US("en-US")이면, 글리프 발생 모듈(28)은 그 폰트 패밀리를 "MS international"로 지칭해야 한다는 것을 의미한다. 다음 라인, <Name xml:lang = "zh-TW">國際</Name>는 사용자가 Chinese-Taiwan으로 조작하는 경우이면, 가상 폰트 패밀리에 주어지는 명칭은 "國際"(이는 중국어로 "international"이라는 의미에 가깝다)이어야 한다는 것을 의미한다. 그 다음 라인 <Name xml:lang = "ja">インタ-ナシヨナル</Name>은 사용자가 Japanese로 조작하는 경우이면, 가상 폰트 패밀리에 주어지는 명칭은 "インタ-ナシヨナル"(이는 영어 단어 "international"의 일본어 발음이다)이어야 한다는 것을 의미한다. 폰트 패밀리의 명칭은 CAD 프로그램(26) 사용자에 반드시 보여야 할 필요는 없지만, 예컨대, 사용자가 어떤 폰트가 사용되는지를 보기 위해 "설정(setting)" 메뉴를 의도적으로 선택하는 경우에는 나타날 수도 있다.
다음 라인, <Range UnicodeRange = "2200 - 22FF" TargetFontFamily = "Math Symbol #5"/>은, 문자가 2200-22FF 범위 내에 있는 유니코드를 갖는 키보드로부터 수신된다면, 글리프를 제공하기 위해 사용될 폰트는 Math Symbol #5 폰트라는 것을 글리프 발생 모듈(28)에 알려준다. 그 다음 세 개의 라인은 사용자 언어에 근거하여 사용될 폰트를 결정한다. 예를 들어, 사용자의 문자 언어가 Chinese-Taiwan이라면, 사용될 폰트는 Chinese(traditional) #2 폰트이다. 이에 반해, 사용자의 문자 언어가 Japanese라면, 그 때 사용될 폰트는 Japanese #10 폰트이다. 상기 및 도 3에 도시된 XML 텍스트의 블록을 다시 살펴보면, 그 다음 라인, <Range xml:lang = "en-US" Unicode Range = "4E00 - 9FAF" TargetFontFamily = "Chinese(traditional) #2" size = "1.1"/>는 두 개의 조건, 즉, 사용자의 언어에 근거한 조건, 및 키스트로크의 유니코드 값에 근거한 조건을 설정한다. 이 경우에, 사용자 언어가 English-US이고, 키스트로크에 의해 발생된 유니코드 값이 4E00과 9FAF(이는 중국어, 일본어 및 한국어 표의 문자들의 대부분을 갖도록 통합된 CJK에 대한 UnicodeRange를 나타낸다) 사이에 속하면, 그 때 글리프 발생 모듈(28)에서 사용될 폰트는 Chinese(traditional) #2 폰트이다. 또한, 글리프의 크기는 그들의 원래 크기의 110%까지 스케일링된다. 이 예에서, 폰트 패밀리 "MS International"의 개발자는 마이크로소프트 산셰리프 로만 문자와 함께 중국어, 일본어 또는 한국어와 같은 표의적인 글리프를 나타내기 위해, 원래 크기의 110%로 글리프가 스케일링된 Chinese(traditional) #2 폰트가 가장 최적의 시각적 효과를 나타낸다고 판정하였다.
라인 <Range xml:lang = "en-US" family = "Microsoft San Serif"/>은 사용자가 English-US로 조작하는 경우에, Microsoft San Serif 폰트가 사용된다는 것을 나타낸다. 이러한 명령 라인은 사용될 적절한 언어가 English-US인 경우에 디폴트값으로서 역할을 하지만, 이전 라인에서 규정된 조건들은 만족되지 않는다. 끝으로, </Font Family> 태그 전에 있는 마지막 라인 <Range TargetFontFamily = "Arial"/>는 이전 라인에 명시된 조건이 전혀 제공되지 않은 경우에 사용되는 최종 디폴트 폰트를 나타낸다.
이하, 도 3을 다시 참조하여, 글리프 발생 모듈(28)이 본 발명의 실시예에 따라 글리프를 발생시키는 일련의 시나리오가 설명될 것이다. 제1 시나리오에서, 운영 체제(22)는 키보드(25)가 유니코드 값 0068을 발생시키는 것을 검출하여, 이 값을 글리프 발생 모듈(28)로 전달한다. 또한, 운영 체제(22)는 CAD 파일(27)이 English-US로 표시되도록 의도된 문서를 포함한다는 것을 글리프 발생 모듈(28)에게 알린다. 글리프 발생 모듈(28)은, 표시될 글리프를 위한 캐쉬(cache)로서의 역할을 하는 리스트(40)를 생성한다. 글리프 발생 모듈(28)은 가상 폰트 파일(30)을 참조하여, 유니코드 값 0068을 어떻게 다룰지를 판정한다. <Range xml:lang = "en-US" family = "Microsoft San Serif"/>에 의거하여, 글리프 발생 모듈(28)은 사용하기에 적당한 폰트가 Microsoft San Serif 폰트 파일(32)에 포함된 Microsoft San Serif 폰트임을 판정한다. 글리프 발생 모듈(28)은 폰트 파일(32)을 참조하여, 유니코드 값 0068에 대응하는 글리프의 위치를 지정한다. 이러한 경우에, 글리프는 -
Figure 112008013268158-pat00005
-이다. 그러면, 글리프 발생 모듈(28)은 글리프 -
Figure 112008013268158-pat00006
- 를 리스트(40)에 복사하고, 글리프를 값 0068과 관련시킨다. 그리고, 글리프 발생 모듈(28)은 글리프를 운영 체제(22)로 전달하여 표시한다.
제2 시나리오에 있어서, 운영 체제(22)는 키보드(25)가 유니코드 값 2264를 발생시키는 것을 검출하여, 이 값을 글리프 발생 모듈(28)로 전달한다. 또한, 운영 체제(22)는 CAD 파일(27)이 English-US로 표시되도록 의도된 문서를 포함한다는 것을 글리프 발생 모듈(28)에 알린다. 글리프 발생 모듈(28)은 가상 폰트 파일(30)을 참조하여, 유니코드 값 2264를 어떻게 다룰지를 결정한다. <Range UnicodeRange = "2200 - 22FF" TargetFontFamily = "Math Symbol #5"/>에 근거하여, 글리프 발생 모듈(28)은 사용하기에 적당한 폰트가 Math Symbol #5 폰트 파일(36)에 포함된 Math Symbol #5 폰트임을 판정한다. 글리프 발생 모듈(28)은 폰트 파일(36)을 참조하여, 유니코드 값 2264에 대응하는 글리프의 위치를 정한다. 이러한 경우에, 글리프는 - ≤- 이다. 그러면, 글리프 발생 모듈(28)은 글리프 - ≤- 를 리스트(40)에 복사하고, 그 글리프를 값 2264와 연관시킨다. 그리고, 글리프 발생 모듈(28)은 글리프를 운영 체제(22)로 전달하여 표시한다.
제3 시나리오에 있어서, 운영 체제(22)는 키보드(25)가 유니코드 값 76F4를 발생시키는 것을 검출하여, 이 값을 글리프 발생 모듈(28)로 전달한다. 또한, 운영 체제(22)는 CAD 파일(27)이 Chinese-Taiwan로 표시되도록 의도된 문서를 포함한다는 것을 글리프 발생 모듈(28)에 알린다. 글리프 발생 모듈(28)은 가상 폰트 파일(30)을 참조하여, 유니코드 값 76F4를 어떻게 다룰 것인지를 결정한다. 라인 <Range XML:Lang = "ch-TW" family = "Chinese(traditional) #2"/>에 근거하여, 글리프 발생 모듈(28)은 사용하기에 적당한 폰트가 Chinese(traditional) #2 폰트 파일(34)에 포함된 Chinese(traditional) #2 폰트임을 판정한다. 글리프 발생 모듈(28)은 폰트 파일(34)를 참조하여, 유니코드 값 76F4에 대응하는 글리프의 위치를 지정한다. 이러한 경우에, 글리프는
Figure 112008013268158-pat00001
이다. 이 특정 글리프는 "direct" 또는 "honest"로서, "straight"라는 의미의 표의 문자를 나타낸다. 그러면, 글리프 발생 모듈(28)은 글리프를 리스트(42)에 복사하여, 그 글리프를 값 76F4와 관련시킨다. 그리고, 글리프 발생 모듈(28)은 글리프를 운영 체제(22)로 전달하여 표시한다.
제4 시나리오에 있어서, 운영 체제(22)는 키보드(25)가 유니코드 값 76F4를 발생하는 것을 검출하여, 이 값을 글리프 발생 모듈(28)로 전달한다. 또한, 운영 체제(22)는 CAD 파일(27)이 Japanese로 표시되도록 의도된 문서를 포함한다는 것을 글리프 발생 모듈(28)에 알린다. 글리프 발생 모듈(28)은 가상 폰트 파일(30)을 참조하여, 유니코드 값 76F4를 어떻게 다룰 것인지를 결정한다. 라인 <Range XML:Lang = "jp" family = "Japanese #10"/>에 근거하여, 글리프 발생 모듈(28)은 사용하기에 적당한 폰트가 Japanese #10 폰트 파일(38)에 포함된 Japanese #10 폰트임을 판정한다. 글리프 발생 모듈(28)은 폰트 파일(34)를 참조하여, 유니코드 값 76F4에 대응하는 글리프의 위치를 지정한다. 이러한 경우에, 글리프는 直이다. 이러한 글리프 역시 "straight"라는 의미의 표의 문자를 나타내지만, 이는 그것의 일본어 변형으로 얻어지는 것이다. 그러면, 글리프 발생 모듈(28)은 글리프를 리스트(44)에 복사하여, 그 글리프를 값 76F4와 관련시킨다. 그리고, 글리프 발생 모듈(28)은 글리프를 운영 체제(22)로 전달하여 표시한다.
따라서, 폰트를 선택하는 새롭고 유용한 방법이 제공된다는 것을 볼 수 있다. 본 발명의 이론이 적용될 수 있는 여러 가능한 실시예를 고려할 때, 도면을 참조로 여기 기술된 실시예는 단지 설명을 위한 것으로, 본 발명의 범주를 한정하기 위해 취해진 것이 아님을 인지해야 한다. 예를 들어, 설명된 실시예에서 소프트웨어로 나타낸 엘리먼트들은 하드웨어로 구현될 수도 있고 그 반대일 수도 있으며 또한 설명된 실시예는 본 발명의 범주에서 벗어나지 않는 한, 배치 및 상세에 있어 변형될 수 있다는 것을 본 기술의 당업자는 주목해야 한다. 따라서, 본 여기서 기술된 본 발명은 다음 청구항 및 그에 상당하는 것의 범주 내에서 유추할 수 있는 모든 실시예들을 예상할 수 있다.

Claims (23)

  1. 폰트 선택 방법으로서,
    어떤 타입의 문자가 컴퓨터 프로그램에서 요구되는지를 지시하는 코드를 수신하는 단계;
    복수의 폰트 파일에 링크되는 확장성 마크업 언어 문서(extensible mark-up language document)를 참조하는 단계; 및
    상기 컴퓨터 프로그램에 요구되는 타입의 문자를 표시하기 위해, 상기 확장성 마크업 언어 문서의 콘텐츠에 근거하여, 복수의 폰트 중 상기 컴퓨터 프로그램이 필요로 하는 폰트를 결정하는 단계를 포함하고, 상기 필요로 하는 폰트가 이용 불가능한 경우, 상기 확장성 마크업 언어 문서에 의해 특정되는 대체 폰트(fallback font)를 사용하는 단계를 포함하는
    폰트 선택 방법.
  2. 제1항에 따른 방법을 수행하기 위한, 컴퓨터-실행가능 명령들이 저장된 컴퓨터-판독가능 매체.
  3. 제1항에 있어서,
    필요한 것으로 결정된 상기 폰트로부터 글리프를 검색하는 단계를 더 포함하며,
    상기 글리프는 상기 문자를 나타내도록 표시 가능한 것인 폰트 선택 방법.
  4. 제1항에 있어서,
    필요한 것으로 결정된 상기 폰트로부터 글리프를 검색하는 단계; 및
    상기 글리프를 상기 컴퓨터 프로그램에 제공하는 단계를 더 포함하는 폰트 선택 방법.
  5. 제1항에 있어서,
    상기 컴퓨터 프로그램은 컴퓨터상에서 실행되고,
    상기 방법은 선택된 상기 폰트가 표시될 문서의 언어를 결정하는 단계를 더 포함하며,
    복수의 폰트 중 상기 컴퓨터 프로그램이 필요로 하는 폰트를 결정하는 상기 단계는, 상기 문서의 상기 결정된 언어에 근거하여, 복수의 폰트 중 상기 컴퓨터가 필요로 하는 폰트를 결정하는 단계를 포함하는 폰트 선택 방법.
  6. 제1항에 있어서,
    상기 결정된 폰트에 관한 정보를 프린터에 전송하는 단계를 더 포함하는 폰트 선택 방법.
  7. 복수의 폰트 중 어느 폰트를 컴퓨터 프로그램에서 사용할지를 결정하는 방법으로서,
    상기 복수의 폰트 중 적어도 하나의 폰트를 사용하기 위한 논리적 조건을 정의하는 확장성 마크업 언어 문서를 참조하는 단계;
    상기 논리적 조건이 만족되는지를 판정하는 단계; 및
    상기 논리적 조건이 만족되는 경우, 상기 적어도 하나의 폰트의 글리프를 검색하는 단계를 포함하고, 상기 논리적 조건이 만족되지 않는 경우, 상기 확장성 마크업 언어 문서에 의해 특정되는 디폴트 폰트를 사용하는 단계를 포함하는
    폰트 결정 방법.
  8. 제7항의 방법을 수행하기 위한, 컴퓨터-실행가능 명령들이 저장된 컴퓨터-판독가능 매체.
  9. 제7항에 있어서,
    상기 프로그램은 컴퓨터상에서 실행되고,
    상기 논리적 조건은 문서가 기록되는 언어와 관련되며,
    상기 검색된 글리프는 상기 언어에 적합한 폰트로부터 이루어지는 것인 폰트 결정 방법.
  10. 제7항에 있어서,
    상기 프로그램은 컴퓨터를 사용하는 사용자와 상호작용(interact)하고, 상기 확장성 마크업 언어 문서는 사용자가 특정 기록 언어로 상기 컴퓨터와 상호 작용하는 것으로 판정될 경우 사용될 폰트를 정의하며,
    상기 방법은,
    상기 사용자가 상기 특정 기록 언어를 사용하는 것으로 판정하는 단계; 및
    상기 사용자가 상기 특정 기록 언어를 사용하는 것으로 판정하는 것에 응답하여 상기 폰트의 글리프를 검색하는 단계
    를 더 포함하는 폰트 결정 방법.
  11. 제7항에 있어서, 상기 컴퓨터 프로그램은 컴퓨터를 사용하는 사용자와 상호작용하고,
    상기 방법은,
    상기 컴퓨터의 키보드가 특정 언어로 설정되어 있는 것으로 판정하는 단계;
    상기 확장성 마크업 언어 문서에 근거하여, 상기 적어도 하나의 폰트가 상기 특정 언어에 대해 사용되는 것으로 판정하는 단계; 및
    상기 적어도 하나의 폰트의 글리프를 상기 컴퓨터 프로그램에 제공하는 단계
    를 더 포함하는 폰트 결정 방법.
  12. 복수의 폰트로부터 글리프들을 획득하는 방법으로서,
    상기 복수의 폰트 중 제1 폰트를 사용하기 위한 논리적 조건 및 상기 복수의 폰트 중 제2 폰트를 사용하기 위한 논리적 조건을 정의하는 확장성 마크업 언어 문서를 참조하는 단계;
    상기 복수의 폰트 중 제1 폰트를 사용하기 위한 상기 논리적 조건이 만족되는지를 판정하는 단계;
    상기 복수의 폰트 중 제1 폰트를 사용하기 위한 상기 논리적 조건이 만족되는 경우, 상기 제1 폰트의 하나 이상의 글리프를 검색하는 단계;
    상기 복수의 폰트 중 제2 폰트를 사용하기 위한 상기 논리적 조건이 만족되는지를 판정하는 단계; 및
    상기 복수의 폰트 중 제2 폰트를 사용하기 위한 상기 논리적 조건이 만족되는 경우, 상기 제2 폰트의 하나 이상의 글리프를 검색하는 단계를 포함하고,
    상기 제1 폰트를 이용하기 위한 상기 논리적 조건 및 상기 제2 폰트를 사용하기 위한 상기 논리적 조건이 만족되지 않는 경우, 상기 확장성 마크업 언어 문서에 의해 특정되는 디폴트 폰트를 사용하는 단계를 포함하는
    글리프 획득 방법.
  13. 제12항의 방법을 수행하기 위한 컴퓨터-실행가능 명령들이 저장된 컴퓨터-판독가능 매체.
  14. 제12항에 있어서,
    상기 마크업 언어 문서에 포함된 스케일링 정보에 근거하여, 상기 제1 및 제2 폰트 중 적어도 하나의 폰트의 하나 이상의 글리프를 리사이즈(resizing)하는 단계를 더 포함하는 글리프 획득 방법.
  15. 제12항에 있어서,
    상기 제1 폰트는 제1 문자 언어의 글리프들을 포함하고, 상기 제2 폰트는 제2 문자 언어의 글리프들을 포함하며,
    상기 제1 폰트 및 제2 폰트의 상기 글리프들은, 상기 제1 문자 언어와 상기 제2 문자 언어가 서로 함께(alongside) 표시될 수 있도록 적응되는 것인 글리프 획득 방법.
  16. 확장성 마크업 언어 텍스트가 저장된 컴퓨터-판독가능 저장 매체에 있어서,
    상기 확장성 마크업 언어 텍스트는,
    상기 확장성 마크업 언어 텍스트 내의 제1 폰트에 대한 참조(reference);
    상기 제1 폰트가 사용될 조건을 나타내며, 상기 확장성 마크업 언어 텍스트에 의해 제1 폰트 파일로부터 검색되는 데이터;
    상기 제1 폰트가 사용될 조건이 만족되는 경우, 상기 제1 폰트가 리사이즈되는 방법을 지시하는 스케일링 인자(scaling factor);
    상기 확장성 마크업 언어 텍스트 내의 제2 폰트에 대한 참조; 및
    상기 제2 폰트가 사용될 조건을 나타내며, 상기 확장성 마크업 언어 텍스트에 의해 제2 폰트 파일로부터 검색되는 데이터
    를 포함하는 컴퓨터-판독가능 저장 매체.
  17. 제16항에 있어서, 상기 제1 폰트가 사용될 조건은, 컴퓨터의 사용자가 선호하는 언어에 적어도 일부 근거하는 것인 컴퓨터-판독가능 저장 매체.
  18. 제16항에 있어서, 상기 제1 폰트가 사용될 조건은, 컴퓨터 키보드에 설정된 언어에 적어도 일부 근거하는 것인 컴퓨터-판독가능 저장 매체.
  19. 제16항에 있어서, 상기 제1 폰트가 사용될 조건은, 컴퓨터에 타이핑된 문자의 유니코드 값이 속하는 범위와 관련되는 것인 컴퓨터-판독가능 저장 매체.
  20. 제16항에 있어서, 상기 제1 폰트가 사용될 조건은, 컴퓨터에 타이핑되는 문자의 유니코드 값이 속하는 범위 및 컴퓨터의 사용자가 선호하는 언어와 관련되는 것인 컴퓨터-판독가능 저장 매체.
  21. 제16항에 있어서, 상기 제1 폰트가 사용될 조건은, 문서에 설정된 대상 언어에 적어도 일부 근거하고, 상기 문서는 상기 제1 또는 제2 폰트 중 하나가 사용되는 매체인 컴퓨터-판독가능 저장 매체.
  22. 삭제
  23. 삭제
KR1020030016296A 2002-11-01 2003-03-15 폰트 선택 방법 KR100860210B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/286,045 2002-11-01
US10/286,045 US7228501B2 (en) 2002-11-01 2002-11-01 Method for selecting a font

Publications (2)

Publication Number Publication Date
KR20040040297A KR20040040297A (ko) 2004-05-12
KR100860210B1 true KR100860210B1 (ko) 2008-09-24

Family

ID=32093570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030016296A KR100860210B1 (ko) 2002-11-01 2003-03-15 폰트 선택 방법

Country Status (10)

Country Link
US (1) US7228501B2 (ko)
EP (1) EP1416394B1 (ko)
JP (2) JP4896362B2 (ko)
KR (1) KR100860210B1 (ko)
CN (1) CN100587685C (ko)
AU (1) AU2003200547B2 (ko)
BR (1) BR0300316A (ko)
CA (1) CA2421478C (ko)
MX (1) MXPA03001953A (ko)
RU (1) RU2316814C2 (ko)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228501B2 (en) * 2002-11-01 2007-06-05 Microsoft Corporation Method for selecting a font
DE10260135B4 (de) * 2002-12-20 2006-11-09 OCé PRINTING SYSTEMS GMBH Verfahren, Computerprogrammprodukt und Dokumentenausgabesystem zur Verarbeitung eines Dokumentendatenstroms
US20050204303A1 (en) * 2004-03-15 2005-09-15 Autodesk, Inc. Transmittal and archive tool in a sheet set manager for a graphics program
US20050204302A1 (en) * 2004-03-15 2005-09-15 Autodesk, Inc. Sheet set fields of a sheet set manager for a graphics program
CN100345108C (zh) * 2004-07-20 2007-10-24 英业达股份有限公司 多国语言软件程序开发***
WO2006021973A2 (en) * 2004-08-23 2006-03-02 Geneva Software Technologies Limited A system and a method for a sim card based multi-lingual messaging application
US8230328B2 (en) * 2004-10-08 2012-07-24 Sharp Laboratories Of America, Inc. Methods and systems for distributing localized display elements to an imaging device
US8237946B2 (en) 2004-10-08 2012-08-07 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting server redundancy
US8384925B2 (en) 2004-10-08 2013-02-26 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting data management
US7920101B2 (en) 2004-10-08 2011-04-05 Sharp Laboratories Of America, Inc. Methods and systems for imaging device display standardization
US8213034B2 (en) 2004-10-08 2012-07-03 Sharp Laboratories Of America, Inc. Methods and systems for providing remote file structure access on an imaging device
US20060170684A1 (en) * 2005-01-28 2006-08-03 Microsoft Corporation Font cache and meta-fonts
US8428484B2 (en) 2005-03-04 2013-04-23 Sharp Laboratories Of America, Inc. Methods and systems for peripheral accounting
US8495491B2 (en) * 2005-04-20 2013-07-23 International Business Machines Corporation Locale and operating platform independent font selection
US7242404B2 (en) * 2005-09-15 2007-07-10 Microsoft Corporation Enlargement of font characters
US7958448B2 (en) * 2005-10-25 2011-06-07 Celartem, Inc. Systems, methods, user interfaces, and computer-readable media for activating and managing fonts
DE602006016846D1 (de) * 2005-11-23 2010-10-21 Dun & Bradstreet Inc System und verfahren zum durchsuchen und vergleichen von daten mit ideogrammatischem inhalt
US8201088B2 (en) * 2006-07-25 2012-06-12 Monotype Imaging Inc. Method and apparatus for associating with an electronic document a font subset containing select character forms which are different depending on location
US7707497B1 (en) * 2006-09-12 2010-04-27 Adobe Systems Incorporated Prefix savvy displays in font enumeration user interfaces
US8345272B2 (en) 2006-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for third-party control of remote imaging jobs
US8078965B2 (en) * 2007-05-01 2011-12-13 Microsoft Corporation Automatic switching fonts on multilingual text runs
JP4590433B2 (ja) * 2007-06-29 2010-12-01 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
JP4402138B2 (ja) 2007-06-29 2010-01-20 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
JP5376795B2 (ja) * 2007-12-12 2013-12-25 キヤノン株式会社 画像処理装置、画像処理方法、そのプログラム及び記憶媒体
US20090183069A1 (en) * 2008-01-15 2009-07-16 Microsoft Corporation Font/Script Association
US8019596B2 (en) * 2008-06-26 2011-09-13 Microsoft Corporation Linguistic service platform
US8266514B2 (en) * 2008-06-26 2012-09-11 Microsoft Corporation Map service
US8073680B2 (en) * 2008-06-26 2011-12-06 Microsoft Corporation Language detection service
US8107671B2 (en) 2008-06-26 2012-01-31 Microsoft Corporation Script detection service
US8856647B2 (en) * 2009-02-20 2014-10-07 Microsoft Corporation Font handling for viewing documents on the web
US9319444B2 (en) 2009-06-22 2016-04-19 Monotype Imaging Inc. Font data streaming
CN101996160B (zh) * 2009-08-10 2013-01-02 北大方正集团有限公司 一种字体数据的处理方法及***
CN102754145B (zh) * 2010-01-28 2015-04-08 森泽文研株式会社 文字生成方法、文字生成装置以及字体数据
US20110258535A1 (en) * 2010-04-20 2011-10-20 Scribd, Inc. Integrated document viewer with automatic sharing of reading-related activities across external social networks
US8615709B2 (en) 2010-04-29 2013-12-24 Monotype Imaging Inc. Initiating font subsets
CN102646023A (zh) * 2012-04-11 2012-08-22 广东欧珀移动通信有限公司 一种用户原始笔迹字体的生成方法
KR101344457B1 (ko) * 2012-06-21 2013-12-26 (주)한양정보통신 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법
US9817615B2 (en) 2012-12-03 2017-11-14 Monotype Imaging Inc. Network based font management for imaging devices
US9569865B2 (en) 2012-12-21 2017-02-14 Monotype Imaging Inc. Supporting color fonts
CN103076955B (zh) * 2012-12-28 2015-07-15 小米科技有限责任公司 一种调整应用的文字的方法、装置及终端
EP2943894A2 (en) 2013-01-09 2015-11-18 Monotype Imaging Inc. Advanced text editor
US9317777B2 (en) 2013-10-04 2016-04-19 Monotype Imaging Inc. Analyzing font similarity for presentation
CN103761110B (zh) * 2014-02-18 2017-12-26 优视科技有限公司 浏览器字体显示处理方法和装置
US9691169B2 (en) 2014-05-29 2017-06-27 Monotype Imaging Inc. Compact font hinting
US9148494B1 (en) 2014-07-15 2015-09-29 Workiva Inc. Font loading system and method in a client-server architecture
US10115215B2 (en) 2015-04-17 2018-10-30 Monotype Imaging Inc. Pairing fonts for presentation
US11537262B1 (en) 2015-07-21 2022-12-27 Monotype Imaging Inc. Using attributes for font recommendations
US10074042B2 (en) 2015-10-06 2018-09-11 Adobe Systems Incorporated Font recognition using text localization
US9875429B2 (en) 2015-10-06 2018-01-23 Adobe Systems Incorporated Font attributes for font recognition and similarity
JP6812141B2 (ja) 2016-05-31 2021-01-13 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US10007868B2 (en) * 2016-09-19 2018-06-26 Adobe Systems Incorporated Font replacement based on visual similarity
US11334750B2 (en) 2017-09-07 2022-05-17 Monotype Imaging Inc. Using attributes for predicting imagery performance
US10909429B2 (en) 2017-09-27 2021-02-02 Monotype Imaging Inc. Using attributes for identifying imagery for selection
US11657602B2 (en) 2017-10-30 2023-05-23 Monotype Imaging Inc. Font identification from imagery
US11144707B2 (en) * 2019-06-03 2021-10-12 Netflix, Inc. Techniques for text rendering using font patching
US10950017B2 (en) 2019-07-08 2021-03-16 Adobe Inc. Glyph weight modification
US10769348B1 (en) * 2019-09-23 2020-09-08 Typetura Llc Dynamic typesetting
US11295181B2 (en) 2019-10-17 2022-04-05 Adobe Inc. Preserving document design using font synthesis
US11733785B2 (en) * 2019-11-07 2023-08-22 Adobe Inc. Stylizing text by providing alternate glyphs
JP7434905B2 (ja) * 2020-01-08 2024-02-21 セイコーエプソン株式会社 印刷装置、及び印刷装置の制御方法
JP7434907B2 (ja) * 2020-01-09 2024-02-21 セイコーエプソン株式会社 印刷装置、及び印刷装置の制御方法
US11809806B2 (en) 2021-07-06 2023-11-07 Adobe Inc. Glyph accessibility system
CN113609817B (zh) * 2021-08-12 2023-10-27 深圳市方直科技股份有限公司 非连续中英文字体样式的设置方法及装置
US11960823B1 (en) * 2022-11-10 2024-04-16 Adobe Inc. Missing glyph replacement system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994023379A1 (en) 1993-04-05 1994-10-13 Taligent, Inc. Font selection system
EP1033697A1 (en) * 1999-03-03 2000-09-06 Sony Corporation Font controlling method and apparatus
JP2002091419A (ja) 2000-09-18 2002-03-27 Ricoh Co Ltd フォント管理方法
KR20020043812A (ko) * 2000-12-04 2002-06-12 윤종용 기록매체, 그 재생장치, 및 그 텍스트 디스플레이방법

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412771A (en) * 1992-02-07 1995-05-02 Signature Software, Inc. Generation of interdependent font characters based on ligature and glyph categorizations
US5526477A (en) * 1994-01-04 1996-06-11 Digital Equipment Corporation System and method for generating glyphs of unknown characters
US5781714A (en) * 1994-05-27 1998-07-14 Bitstream Inc. Apparatus and methods for creating and using portable fonts
JPH10510639A (ja) * 1994-07-01 1998-10-13 パーム コンピューティング,インコーポレーテッド マルチペンストローク文字セット及び手書文書認識システム
US5689585A (en) * 1995-04-28 1997-11-18 Xerox Corporation Method for aligning a text image to a transcription of the image
US5926189A (en) * 1996-03-29 1999-07-20 Apple Computer, Inc. Method and apparatus for typographic glyph construction including a glyph server
US6356268B1 (en) * 1996-04-26 2002-03-12 Apple Computer, Inc. Method and system for providing multiple glyphs at a time from a font scaler sub-system
US5698620A (en) * 1996-12-27 1997-12-16 The Goodyear Tire & Rubber Company Rosinate esters of N-hydroxyphenyl maleamic acid
IL121071A0 (en) * 1997-03-27 1997-11-20 El Mar Software Ltd Automatic conversion server
US5999706A (en) * 1997-04-28 1999-12-07 Pitney Bowes, Inc. Method and apparatus for substituting a 2-byte font character standard in a printer
US6073147A (en) * 1997-06-10 2000-06-06 Apple Computer, Inc. System for distributing font resources over a computer network
US6323864B1 (en) * 1997-06-30 2001-11-27 Sun Microsystems, Inc. Using and accessing information from fonts in multiple formats
JP2990129B2 (ja) 1997-10-27 1999-12-13 静岡日本電気株式会社 無線選択呼出受信機
US6623529B1 (en) * 1998-02-23 2003-09-23 David Lakritz Multilingual electronic document translation, management, and delivery system
US6404435B1 (en) * 1998-04-03 2002-06-11 Avid Technology, Inc. Method and apparatus for three-dimensional alphanumeric character animation
JP3481136B2 (ja) * 1998-05-29 2003-12-22 シャープ株式会社 文字フォント生成方法およびそのための装置ならびに文字フォント生成プログラムを記録したコンピュータで読取可能な記録媒体
JP2000057146A (ja) * 1998-06-03 2000-02-25 Canon Inc 文字処理装置、文字処理方法、記憶媒体、及び、フォント
US6490051B1 (en) * 1998-09-21 2002-12-03 Microsoft Corporation Printer driver and method for supporting worldwide single binary font format with built in support for double byte characters
US6204782B1 (en) * 1998-09-25 2001-03-20 Apple Computer, Inc. Unicode conversion into multiple encodings
US6614541B1 (en) * 1998-12-03 2003-09-02 International Business Machines Corporation Method and system for specification of data-presentation variability data via scaleable interface
US6393416B1 (en) * 1998-12-16 2002-05-21 International Business Machines Corporation Method for entering bidirectional and DBCS languages in tier-0 devices
US6718519B1 (en) * 1998-12-31 2004-04-06 International Business Machines Corporation System and method for outputting character sets in best available fonts
US6760887B1 (en) * 1998-12-31 2004-07-06 International Business Machines Corporation System and method for highlighting of multifont documents
US6813747B1 (en) * 1998-12-31 2004-11-02 International Business Machines Corporation System and method for output of multipart documents
US6892238B2 (en) * 1999-01-27 2005-05-10 International Business Machines Corporation Aggregating and analyzing information about content requested in an e-commerce web environment to determine conversion rates
US6675357B1 (en) * 1999-01-29 2004-01-06 International Business Machines Corporation Method and apparatus for matching system and device fonts
US6426798B1 (en) * 1999-03-04 2002-07-30 Canon Kabushiki Kaisha Data structure for printer description file
US6426751B1 (en) * 1999-04-01 2002-07-30 Adobe Systems Incorporated Font feature file processing
US6681370B2 (en) * 1999-05-19 2004-01-20 Microsoft Corporation HTML/XML tree synchronization
US6539374B2 (en) * 1999-06-03 2003-03-25 Microsoft Corporation Methods, apparatus and data structures for providing a uniform representation of various types of information
US6691281B1 (en) * 1999-06-15 2004-02-10 Microsoft Corporation Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
TW464817B (en) * 1999-08-18 2001-11-21 Ibm Technique for creating audience-specific views of documents
AU1405000A (en) * 1999-12-15 2001-06-25 Sun Microsystems, Inc. Preparation of a software configuration using an xml type programming language
US6771267B1 (en) * 2000-03-22 2004-08-03 Adobe Systems Incorporated Merging digital fonts
US7668798B2 (en) * 2000-04-04 2010-02-23 Red Hat, Inc. System and method for accessing data in disparate information sources
US6738518B1 (en) * 2000-05-12 2004-05-18 Xerox Corporation Document image decoding using text line column-based heuristic scoring
US6970263B2 (en) * 2000-06-30 2005-11-29 Canon Kabushiki Kaisha Print system, printing method, and server
US7336378B2 (en) * 2000-08-07 2008-02-26 Minolta Co., Ltd. Image processing with recognized character codes
US7386790B2 (en) * 2000-09-12 2008-06-10 Canon Kabushiki Kaisha Image processing apparatus, server apparatus, image processing method and memory medium
US20020169851A1 (en) * 2000-10-04 2002-11-14 Robert Weathersby Internet-based system for dynamically creating and delivering customized content within remote web pages
AU2002227134A1 (en) * 2000-11-01 2002-05-15 Intellocity Usa, Inc. System and method for rules based media enhancement
US20060173951A1 (en) * 2001-01-25 2006-08-03 Carlos Arteaga System and method for transfer, control, and synchronization of data
US20020146181A1 (en) * 2001-02-06 2002-10-10 Azam Syed Aamer System, method and computer program product for a multi-lingual text engine
US7194411B2 (en) * 2001-02-26 2007-03-20 Benjamin Slotznick Method of displaying web pages to enable user access to text information that the user has difficulty reading
US7086004B2 (en) * 2001-04-19 2006-08-01 International Business Machines Corporation Generalized mechanism for unicode metadata
JP2004532430A (ja) * 2001-05-02 2004-10-21 ビットストリーム インコーポレーティッド 副画素最適化画像及びその様な画像を含むデジタルコンテンツを生成及び表示するための方法、システム、及びプログラム
US20030002056A1 (en) * 2001-05-22 2003-01-02 Matsushita Electric Industrial Co., Ltd. Printing apparatus and pre-printing information estimating method
US7295522B2 (en) * 2001-06-29 2007-11-13 Microsoft Corporation System and method for continuously provisioning a mobile device
US20030033334A1 (en) * 2001-07-13 2003-02-13 International Business Machines Corporation Method and system for ascertaining code sets associated with requests and responses in multi-lingual distributed environments
US7444298B2 (en) * 2001-08-28 2008-10-28 United Parcel Service Of America, Inc. Order and payment visibility process
US7216294B2 (en) * 2001-09-04 2007-05-08 Microsoft Corporation Method and system for predicting optimal HTML structure without look-ahead
US7849400B2 (en) * 2001-09-13 2010-12-07 Speech Products, Inc. Electronic charting system
US20030126554A1 (en) * 2001-10-19 2003-07-03 Behzadi Azad E. Document exchange among business-to-business (B2B) partners using meaningful extensible mark-up language (XML)
US8332275B2 (en) * 2001-10-31 2012-12-11 Ebay Inc. Method and apparatus to facilitate a transaction within a network-based facility
US7055092B2 (en) * 2001-12-05 2006-05-30 Canon Kabushiki Kaisha Directory for multi-page SVG document
US6912555B2 (en) * 2002-01-18 2005-06-28 Hewlett-Packard Development Company, L.P. Method for content mining of semi-structured documents
US7170519B2 (en) * 2002-03-29 2007-01-30 Sas Institute Inc. Computer-implemented system and method for generating data graphical displays
US7149966B2 (en) * 2002-06-24 2006-12-12 Microsoft Corporation Word processor for freestyle editing of well-formed XML documents
US20040056894A1 (en) * 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
US7228501B2 (en) * 2002-11-01 2007-06-05 Microsoft Corporation Method for selecting a font
US20040114042A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corporation Systems and methods for annotating digital images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994023379A1 (en) 1993-04-05 1994-10-13 Taligent, Inc. Font selection system
EP1033697A1 (en) * 1999-03-03 2000-09-06 Sony Corporation Font controlling method and apparatus
JP2002091419A (ja) 2000-09-18 2002-03-27 Ricoh Co Ltd フォント管理方法
KR20020043812A (ko) * 2000-12-04 2002-06-12 윤종용 기록매체, 그 재생장치, 및 그 텍스트 디스플레이방법

Also Published As

Publication number Publication date
CA2421478A1 (en) 2004-05-01
KR20040040297A (ko) 2004-05-12
EP1416394B1 (en) 2017-03-22
BR0300316A (pt) 2004-09-08
EP1416394A2 (en) 2004-05-06
JP4896362B2 (ja) 2012-03-14
CN100587685C (zh) 2010-02-03
MXPA03001953A (es) 2005-08-16
JP2004157502A (ja) 2004-06-03
EP1416394A3 (en) 2005-09-21
JP2012088719A (ja) 2012-05-10
RU2316814C2 (ru) 2008-02-10
US20040088657A1 (en) 2004-05-06
CN1494020A (zh) 2004-05-05
CA2421478C (en) 2012-02-21
AU2003200547A1 (en) 2004-05-20
US7228501B2 (en) 2007-06-05
AU2003200547B2 (en) 2009-12-10
RU2003109456A (ru) 2005-05-27

Similar Documents

Publication Publication Date Title
KR100860210B1 (ko) 폰트 선택 방법
US7064757B1 (en) Automatic synthesis of font tables for character layout
EP0992006B1 (en) A method for rendering glyphs using a layout services library
US8707208B2 (en) Font selector and method for the same
US7786994B2 (en) Determination of unicode points from glyph elements
US7408556B2 (en) System and method for using device dependent fonts in a graphical display interface
US20160224800A1 (en) Document redaction
US20030046314A1 (en) Text processing device, text processing method and program therefor
US8423913B1 (en) Methods and apparatus to display style-related information
US20050094172A1 (en) Linking font resources in a printing system
CN108701120A (zh) 字形处理中的查找的条件确定
JP5097117B2 (ja) 画面要素の位置決め
US8504916B2 (en) Managing presentation and storing of multi-language fonts
JP2006178622A (ja) 文書変換方法、文書変換装置、及びプログラム
JP2003006183A (ja) 情報処理装置、情報処理方法、プログラム、及びそのプログラムを格納するコンピュータ可読媒体
Cho et al. Typesetting CJK languages with Ω
JP2005063052A (ja) 文書作成方法及び文書作成装置
JP2001142599A (ja) メニュー表示ユーザインターフェイスを有するシステム
Cho et al. Typesetting CJK Languages with Ω
Reinhart Arabic on the Macintosh: Overview and Review
JPH1091620A (ja) 文字処理装置および文字処理装置の文字処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

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

Payment date: 20120817

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130813

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140814

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 11