[go: up one dir, main page]

KR20060043292A - 폰트 데이터 처리 시스템 및 방법 - Google Patents

폰트 데이터 처리 시스템 및 방법 Download PDF

Info

Publication number
KR20060043292A
KR20060043292A KR1020050016952A KR20050016952A KR20060043292A KR 20060043292 A KR20060043292 A KR 20060043292A KR 1020050016952 A KR1020050016952 A KR 1020050016952A KR 20050016952 A KR20050016952 A KR 20050016952A KR 20060043292 A KR20060043292 A KR 20060043292A
Authority
KR
South Korea
Prior art keywords
font
client
data
font data
list
Prior art date
Application number
KR1020050016952A
Other languages
English (en)
Other versions
KR100715169B1 (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 KR20060043292A publication Critical patent/KR20060043292A/ko
Application granted granted Critical
Publication of KR100715169B1 publication Critical patent/KR100715169B1/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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61JCONTAINERS SPECIALLY ADAPTED FOR MEDICAL OR PHARMACEUTICAL PURPOSES; DEVICES OR METHODS SPECIALLY ADAPTED FOR BRINGING PHARMACEUTICAL PRODUCTS INTO PARTICULAR PHYSICAL OR ADMINISTERING FORMS; DEVICES FOR ADMINISTERING FOOD OR MEDICINES ORALLY; BABY COMFORTERS; DEVICES FOR RECEIVING SPITTLE
    • A61J9/00Feeding-bottles in general
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y5/00Nanobiotechnology or nanomedicine, e.g. protein engineering or drug delivery

Landscapes

  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Nanotechnology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Medicinal Chemistry (AREA)
  • Biophysics (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biotechnology (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Image Generation (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Computer And Data Communications (AREA)

Abstract

클라이언트 디바이스로의 전자 데이터 전송을 위한 폰트 데이터의 처리를 용이하게 하는 방법은, 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능(client font capability)의 목록을 저장하는 단계와, 적어도 하나의 클라이언트 디바이스에 어드레스되는 전자 데이터 전송의 폰트 데이터를 액세스하는 단계와, 이 액세스된 폰트 데이터를 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교하는 단계와, 그 액세스된 폰트 데이터를 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교하는 것에 기초하여 오그먼트 폰트 데이터(augments font data)를 식별하는 단계를 포함한다. 이어서, 오그먼트 폰트 데이터는 적어도 하나의 클라이언트 디바이스로의 전자 데이터 전송에 포함된다.

Description

폰트 데이터 처리 시스템 및 방법{FONT DATA PROCESSING SYSTEM AND METHOD}
도 1은 모바일 디바이스의 블록도.
도 2는 도 1의 모바일 디바이스에서의 폰트 처리를 지원하도록 동작 가능한 폰트 데이터 프로세싱 시스템의 시스템도.
도 3은 통신 세션 개시에 대한 클라이언트측 흐름도.
도 4는 통신 세션 개시에 대한 서버측 흐름도.
도 5는 오그먼트 폰트 데이터를 식별하는 프로세스의 흐름도.
도 6은 오그먼트 폰트 데이터를 제공하는 프로세스의 흐름도.
도 7은 클라이언트 디바이스에서의 폰트 처리를 지원하도록 동작 가능한 폰트 데이터 프로세싱 시스템의 구조 블록도.
도 8은 도 1의 모바일 디바이스로의 전자 메시지와 도 1의 모바일 디바이스로부터의 전자 메시지를 재유도(redirect)시키는 예시적인 시스템의 블록도.
도 9는 도 1의 모바일 디바이스의 더욱 상세한 블록도.
<도면에 사용된 주요 부분의 부호에 대한 설명>
100: 모바일 디바이스
102: 디스플레이 서브시스템
104: 프로세싱 서브시스템
106: 메모리 서브시스템
108: 키보드 서브시스템
110: 통신 서브시스템
112: 스피커
114: 마이크로폰
본 발명은 일반적으로 폰트 데이터 처리에 관한 것으로서, 보다 구체적으로 클라이언트 장치에 폰트 데이터를 제공하는 것에 관한 것이다.
폰트는 특정 서체 디자인 및 사이즈의 문자들의 세트이다. 서체는 Courier, Helvetica 또는 Times Roman과 같은 인쇄 문자 세트의 특정한 디자인이다. 관련 문자는 통상, Latin, Greek, Hirakana, Katakana, Han과 같은 스크립트를 포함하고, 이들의 서브세트는 특정한 언어를 쓰는데 이용된다. 글리프(glyph)는 문자를 나타내는데 이용되는 시각적 요소이다. 즉, 글리프는 문자 이미지의 실제 모양이다. 폰트와 스타일 등의 텍스트 표현의 형태들은 글리프에 적용된다. 예컨대, 문자 "c"의 이탤릭 타임스(italic Times) 폰트와 문자 "c"의 볼드 타임스(bold Times) 폰트 각각은 대응하는 글리프를 갖는다.
기본 폰트 타입에는 3가지의 타입, 즉 비트맵 폰트 타입, 아웃라인 폰트 타입 및 스트로크 폰트 타입이 있다. 비트맵 폰트는 문자의 그래픽 이미지로서 저장 되며, 이 경우, 서체의 각 포인트 사이즈는 독립된 폰트로서 저장된다. 각 문자는 픽셀 어레이(비트맵)로서 저장된다. 아웃라인 폰트, 예컨대 TrueTypeTM 폰트는 글리프의 모양, 또는 아웃라인에 관한 정보로부터 생성된다. 아웃라인은 선과 곡선의 집합으로서 정의된다. 아웃라인 폰트는 비트맵 폰트보다 양호한 스케일링 및 다른 효과를 용이하게 하고, 비트맵 폰트보다 적은 저장 공간을 필요로 한다. 스트로크 폰트는, 글리프로 표현되는 문자 모양이 스트로크로 표현되는 폰트이다. 스트로크는 통상, 선과 곡선으로 정의된다.
폰트는 통상, 클라이언트 디바이스의 메모리에 저장된다. 이러한 클라이언트 디바이스의 한가지로는 모바일 통신 디바이스가 있다. 모바일 디바이스는 제한된 메모리와 프로세싱 자원을 갖는 경우가 많기 때문에, 모바일 디바이스에 저장된 폰트의 수와 모바일 디바이스의 폰트 처리 능력도 마찬가지로 제한된다.
모바일 디바이스로 전달되는 전자 데이터 전송은 통상, 텍스트를 렌더링하기 위한 폰트 데이터를 포함한다. 전자 데이터 전송은 e-메일(전자 메일) 메시지, 도큐먼트, 무선 액세스 프로토콜(WAP; Wireless Access Protocol) 데크, 또는 다른 전송 타입의 전자 데이터를 포함할 수 있다. 폰트 데이터는 실제 폰트 데이터 구조체, 예컨대 특정 서체 디자인 및 사이즈의 문자 세트 전체를 포함할 수도 있으며, 그렇지 않고 특정 폰트 타입, 예컨대 쿠리어 12 포인트(Courier 12 point)의 식별자를 포함할 수도 있다. 만일 전자 데이터 전송의 폰트 데이터가 전자 데이터 전송과 관련된 텍스트를 렌더링하는데 이용되는 폰트 타입을 식별하기는 하지만 실 제 폰트 데이터를 포함하지는 않는 경우에는, 실제 폰트 데이터는 텍스트가 정확하게 렌더링되도록 모바일 디바이스 메모리에 이용 가능하게 되어 있어야 한다. 만일 모바일 디바이스 메모리가 이용될 폰트 타입의 실제 폰트 데이터를 포함하지 않는 경우에는, 텍스트는 부정확하게 렌더링될 수 있고, 및/또는 모바일 디바이스는 전자 데이터 전송 후에 실제 폰트 데이터에 대한 요청을 발송하여야 할 수 있다.
클라이언트 디바이스로의 전자 데이터 전송을 위한 폰트 데이터의 처리를 용이하게 하는 시스템은 클라이언트 폰트 목록 스토어 및 폰트 프로세싱 소프트웨어를 포함한다. 클라이언트 폰트 목록 스토어는 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능(client font capability)의 목록을 포함한다. 폰트 프로세싱 소프트웨어는 프로세싱 디바이스로 하여금 하나 또는 그 이상의 클라이언트 디바이스에 대응하는 적어도 하나의 클라이언트 디바이스를 향하는 전자 데이터 전송을 수신하여, 전자 데이터 전송의 폰트 데이터를 액세스하고 이 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교함으로써 오그먼트 폰트 데이터(augment font data)를 판정하며, 이 오그먼트 폰트 데이터를 상기 적어도 하나의 클라이언트 디바이스의 전자 데이터 전송에 포함시킨다.
클라이언트 디바이스로의 전자 데이터 전송을 위한 폰트 데이터의 처리를 용이하게 하는 방법은, 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록을 저장하는 단계와, 상기 하나 또는 그 이상의 클라이언트 디 바이스에 대응하는 적어도 하나의 클라이언트 디바이스로 어드레스되는 전자 데이터 전송의 폰트 데이터를 액세스하는 단계와, 상기 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교하는 단계와, 상기 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교하는 것에 기초하여 오그먼트 폰트 데이터를 식별하는 단계를 포함한다. 이어서, 오그먼트 폰트 데이터는 상기 적어도 하나의 클라이언트 디바이스의 전자 데이터 전송에 포함된다.
도 1은 모바일 디바이스(100)의 블록도이다. 모바일 디바이스(100)는 디스플레이 서브시스템(102), 프로세싱 서브시스템(104), 메모리 서브시스템(106), 키보드 서브시스템(108) 및 통신 서브시스템(110)을 포함할 수 있다. 모바일 디바이스(100)는 무선 통신 네트워크에서 동작하도록 적응되는 어떠한 모바일 통신 디바이스일 수 있으며, 양방향 통신 디바이스인 것이 바람직하다. 모바일 디바이스(100)가 음성 통신 기능을 지원하는 경우에는 스피커(112)와 마이크로폰(114)을 포함하는 오디오 서브시스템도 포함될 수 있다. 모바일 디바이스(100)는 하나 또는 그 이상의 통신 네트워크를 통해서 관련 서버와 통신하도록 동작될 수 있다. 모바일 디바이스(100)에 대한 더욱 상세한 설명과 모바일 디바이스(100)에 대한 예시적인 동작 환경에 대해서는 도 8 및 도 9에서 후술한다.
모바일 디바이스(100)가 제공하는 기능에 따라서, 모바일 디바이스(100)는 데이터 메시징 디바이스, 양방향 페이저, 데이터 메시징 기능을 갖는 휴대 전화, 무선 인터넷 기기 또는 데이터 통신 디바이스(전화 기능을 구비한 것이든 구비하지 않은 것이든 불문함). e-메일, 인스턴트 메시징, 페이징 등의 데이터 통신 기능은 주로 디스플레이 서브시스템(102), 키보드 서브시스템(108) 및 통신 서브시스템(110)에 의해서 용이해지며, 이들 서브시스템은 식자, 판독 및 데이터 통신에의 응답에 대한 주요 사용자 인터페이스 및 통신 기능을 제공한다. 음성 통신 기능은 스피커(112) 및 마이크로폰(114)을 포함하는 오디오 서브시스템에 의해서 더 용이해진다.
메모리 서브시스템(106)은 프로세싱 서브시스템(104)에 의해서 수행될 수 있는 프로그램 명령어를 포함하는 모바일 디바이스 프로그램 코드를 저장한다. 따라서, 모바일 디바이스(100)는 프로세싱 서브시스템(104)에 의한 모바일 디바이스 프로그램 코드의 실행 시에 다수의 기능을 수행하도록 프로그램될 수 있는 프로그램 가능한 디바이스이다. 또한, 메모리 서브시스템(106)은 임의의 폰트를 정의하고 텍스트를 글리프로서 렌더링하는데 이용되는 폰트 데이터도 저장할 수 있다. 또한, 애플리케이션 프로그램도 역시 메모리 서브시스템(106)에 저장될 수 있으며, 메모리 서브시스템(106)으로부터의 텍스트의 폰트 데이터를 액세스하고, 텍스트를 디스플레이 서브시스템(102)에 디스플레이되는 글리프로 렌더링하도록 동작할 수 있다.
도 2는 도 1의 모바일 디바이스(100)에서의 폰트 처리를 지원하도록 동작 가능한 폰트 데이터 프로세싱 시스템의 시스템도이다. 모바일 디바이스(100)는 복수개의 폰트 타입 f1, f3 및 f4에 대한 클라이언트 폰트 데이터 스토어(120)를 메모 리 서브시스템(106)에 저장하고 있다. 클라이언트 폰트 데이터 스토어(120)는 폰트 타입 f1, f3 및 f4에 대한 비트맵, 아웃라인 및/또는 스트로크 폰트 데이터, 즉 실제의 폰트 데이터 구조체를 포함할 수 있고, 또한 디스플레이 서브시스템(102)에서 텍스트의 정확한 서체 디자인 및 사이즈를 렌더링하는 프로세싱 서브시스템(104)에 의해서 이용될 수 있다.
모바일 디바이스(100)는 네트워크(130)를 통해서 서버(200)와 통신할 수 있다. 네트워크는 무선 LAN과 같은 무선 네트워크, 또는 셀룰러 네트워크나 인터넷과 같은 유무선 네트워크의 조합에 의해서 실현될 수 있다. 대표적인 서버 컴퓨터 시스템(200)은 메모리 서브시스템, 프로세싱 서브시스템 및 통신 서브시스템을 포함한다. 서버(200)는 컴퓨터 판독가능한 매체에 저장된 폰트 프로세싱 소프트웨어(202)를 포함한다. 폰트 프로세싱 소프트웨어(202)는 클라이언트 폰트 목록 스토어(210)에의 액세스 기능을 갖는다. 클라이언트 폰트 목록 스토어(210)는 모바일 디바이스(100)와 관련된 클라이언트 폰트 기능의 목록을 포함한다. 예컨대, 도 2에서 보여주는 바와 같이, 클라이언트 폰트 데이터 스토어(120)는 복수개의 폰트 타입 f1, f3 및 f4에 대한 폰트 데이터를 저장한다. 관련 클라이언트 폰트 목록 스토어(210)는 클라이언트 폰트 데이터 스토어(120)의 폰트 타입 f1, f3 및 f4를 식별하는 폰트 식별자 <f1>, <f3> 및 <f4>의 목록을 포함할 수 있다. 따라서, 폰트 타입 f1, f3 및 f4가 Hevetica, Courier 및 Times 폰트에 각각 대응하는 경우에는, 식별자 <f1>, <f3> 및 <f4>의 목록은 Hevetica, Courier 및 Times 폰트를 각각 식별한다. 이들 식별자는 기초 폰트 타입과 같은 더욱 세부 내용, 예컨대 비트맵, 아웃라인 또는 스트로크 등을 포함할 수 있다. 일 실시예에서, 식별자 <f1>, <f3> 및 <f4>의 목록은 모바일 디바이스(100)와의 통신 세션의 개시 동안에 서버(200)에 의해서 제공될 수 있다. 다른 실시예에서는, 식별자 <f1>, <f3> 및 <f4>의 목록이 모바일 디바이스(200)와 관련된 디바이스 프로파일의 서버(200)에 저장될 수도 있다.
또한, 서버(200)는 복수개의 폰트 타입 f1, f2, f3 ... fn에 대한 서버 폰트 데이터를 저장하는 서버 폰트 데이터 스토어(212)를 포함한다. 서버 폰트 데이터 스토어(212)는 폰트 타입 f1, f2, f3 ... fn에 대한 비트맵, 아웃라인 및/또는 스트로크 폰트 데이터를 포함할 수 있으며, 또한 서버가 제3자 서버에 액세스하여 특정 폰트 타입에 대한 폰트 데이터를 수신하도록 할 수도 있다.
동작 시에, 서버(200)는 모바일 디바이스(100)로, 또는 모바일 디바이스(100)와 관련된 어드레스로 향하는 전자 데이터 전송(300)을 수신한다. 전자 데이터 전송(300)은 e-메일 메시지, 도큐먼트, 무선 액세스 프로토콜(WAP) 데크, 또는 다른 전송 타입의 전자 데이터를 포함할 수 있고, 텍스트 데이터(302)와 폰트 데이터(304)를 포함한다. 폰트 데이터(304)는 실제 폰트 데이터 구조체와 같은 내장형 폰트 데이터, 예컨대 특정 서체 디자인 및 사이즈의 문자들의 세트 또는 서브세트 전체를 포함할 수도 있고, 그렇지 않고 특정 폰트 타입의 식별자와 같은 비내장형 폰트 데이터, 예컨대 쿠리어 12 포인트(Courier 12 point)를 포함할 수도 있다. 폰트 데이터(304)는 특정 폰트 타입, 예컨대 폰트 타입 f1 및 f2에 따른 텍스트 데이터(302)를 렌더링하는데 이용된다.
전자 데이터 전송(300)의 수신 시에, 폰트 프로세싱 소프트웨어(202)는 전자 데이터 전송(300)의 폰트 데이터(304)를 액세스하고 이 폰트 데이터(304)를 클라이언트 폰트 목록 스토어(210)의 클라이언트 폰트 기능의 목록과 비교함으로써 오그먼트 폰트 데이터를 판정한다. 오그먼트 폰트 데이터는 모바일 디바이스(100)가 폰트 데이터(304)에서 지정하는 바와 같은 정확한 서체 디자인 및 사이즈에 따라서 텍스트 데이터(302)를 렌더링할 수 있도록 전자 데이터 전송(300) 외에 모바일 디바이스(100)에 의해서 제공되는 폰트 데이터이다.
폰트 데이터(304)가 특정 서체 디자인 및 사이즈의 문자들의 세트 전체를 포함하는 경우에는, 폰트는 도큐먼트에 내장되어 오그먼트 폰트 데이터는 필요치 않다. 그러나, 폰트 데이터(304)가 특정 폰트 타입의 식별자, 예컨대 도 2에서 보여주는 바와 같은 식별자 <f1> 및 <f2>만을 포함하는 경우에는, 오그먼트 폰트 데이터는 모바일 디바이스(100)가 클라이언트 폰트 데이터 스토어(120)에 저장된 지정 폰트의 특정 서체 디자인 및 사이즈를 갖고 있지 않을 때에 요구될 수 있다.
도 2에서 보여주는 예의 경우, 폰트 데이터(304)는 특정 폰트 타입 f1 및 f2를 지정하는 비내장형 폰트 데이터 식별자 <f1> 및 <f2>를 포함한다. 클라이언트 폰트 데이터 스토어(120)는 폰트 타입 f1에 대한 폰트 데이터 구조체를 포함하고 있기 때문에, 오그먼트 폰트 데이터는 이 폰트 타입에 대해서 요구되지 않는다. 그러나 클라이언트 폰트 데이터 스토어(120)는 폰트 타입 f2에 대한 폰트 데이터 구조체를 포함하고 있지 않기 때문에, 오그먼트 폰트 데이터는 폰트 타입 f2에 대해서는 요구된다. 따라서, 폰트 프로세싱 소프트웨어(202)는 서버 폰트 데이터 스 토어(212)에 저장된 폰트 타입 f2에 대한 폰트 데이터 구조체를 오그먼트 폰트 데이터(306)로서 선택하고, 이 오그먼트 폰트 데이터(306)를 전자 데이터 전송에 포함시킨다. 텍스트 데이터(312)와 폰트 데이터(314)를 포함하는 다른 전자 데이터 전송(310)은, 클라이언트 폰트 데이터 스토어(120)가 폰트 데이터(314)에서 식별자 <f3> 및 <f4>에 의해서 지정되는 폰트 타입 f3 및 f4에 대한 폰트 데이터 구조체를 포함하므로, 오그먼트 폰트 데이터없이 모바일 디바이스(100)에 전송될 수 있다.
전술한 바와 같이 폰트 프로세싱 소프트웨어(202)를 동작시키고, 또한 클라이언트 폰트 목록 스토어(210)와 서버 폰트 데이터 스토어(212)를 참조함으로써, 오그먼트 폰트 데이터는 모바일 디바이스(100)가 텍스트 데이터를 정확하고 엄밀하게 렌더링할 수 있도록 전자 데이터 전송과 함께 모바일 디바이스(100)에 제공될 수 있다. 더욱이, 폰트 프로세싱 소프트웨어(202)는, 모바일 디바이스(100)가 요구되는 폰트 데이터를 이미 내부에 저장하고 있는 경우, 또는 전자 데이터 전송이 요구되는 폰트 데이터를 이미 내부에 저장하고 있는 경우에서와 같이 폰트 데이터가 요구되지 않는 경우에는 오그먼트 폰트 데이터를 제공하지 않는다. 포터블 도큐먼트 포맷(PDF; Portable Document Format)은 이 후자의 경우의 일 예이다.
폰트 프로세싱 소프트웨어(202)는 폰트 오그먼트된 전자 데이터 전송를 생성하도록 오그먼트 폰트 데이터를 전자 데이터 전송(300)에 내장시킬 수 있다. 이와 달리, 오그먼트 폰트 데이터는 폰트 어태치먼트로서 전자 데이터 전송(300)에 전송될 수 있다. 폰트 어태치먼트는 이 어태치먼트가 오그먼트 폰트 데이터를 포함하고 있다는 것을 나타내는 식별자를 포함할 수 있고, 또한 모바일 디바이스(100)는 이 식별자에 기초하여 어태치먼트를 자동으로 처리하는 모바일 디바이스 폰트 프로세싱 소프트웨어(122)를 포함할 수 있다. 모바일 디바이스 폰트 프로세싱 소프트웨어(122)는 전자 데이터 전송의 텍스트를 렌더링하는데 이용하도록 오그먼트 폰트 데이터를 임시 캐시에 저장시킬 수 있다.
다른 실시예에서, 모바일 디바이스 폰트 프로세싱 소프트웨어(122)는 오그먼트 폰트 데이터를 클라이언트 폰트 데이터 스토어(120)의 다른 폰트로서 폰트 어태치먼트에 영구적으로 저장시킴으로써 모바일 디바이스(100)의 폰트 기능을 자동으로 업데이트시킬 수 있다. 이 실시예에서, 폰트 프로세싱 소프트웨어(202)는 새롭게 추가된 오그먼트 폰트 데이터를 추가 폰트 프로세싱 기능르로서 모바일 디바이스(100)에 포함시키도록 클라이언트 폰트 목록 스토어(210)를 자동으로 업데이트시킬 수 있고, 또는 모바일 디바이스(100)로부터 오그먼트 폰트 데이터를 접수하였다고 하는 확인응답을 수신하면 클라이언트 폰트 데이터 스토어(120)를 업데이트할 수 있다.
도 2에는 모바일 디바이스(100)를 1개만 보여주고 있지만, 서버(200)는 복수개의 모바일 디바이스(100)와 연계하여 동작하는 것도 가능하다. 클라이언트 폰트 목록 스토어(210)는 복수개의 모바일 디바이스(100)에 대한 폰트 처리를 지원하도록 하나 또는 그 이상의 모바일 디바이스와 관련된 클라이언트 폰트 기능의 목록을 포함할 수 있다.
도 3은 통신 세션 개시에 대한 클라이언트측 흐름도(400)이다. 통신 세션의 개시는, 모바일 디바이스(100)와 같은 클라이언트가 하나 또는 그 이상의 통신 네 트워크를 통해서 데이터를 송수신할 수 있도록 네트워크 자원의 보안을 시도할 때 행해진다. 이 실시예에서, 클라이언트는 통신 세션 개시 동안에 폰트 프로세싱 기능의 목록을 서버에 제공한다.
단계 402에서, 클라이언트는 서버와의 통신 세션을 개시한다. 단계 404에서, 클라이언트는 서버로부터의 응답을 감시한다. 응답이 수신되지 않으면, 단계 406에서 타임아웃이 발생하였는지를 판정한다. 타임아웃이 발생하지 않았다면, 단계 404로 진행한다. 타임아웃이 발생하였다면, 오류 처리(단계 408)가 실행된다. 오류 처리(단계 408)는 타임아웃의 원인과 특정 클라이언트 디바이스에 따라서 복수개의 오류 처리 메시징 중 하나, 예컨대 셀룰러 커버리지의 이탈, 이용가능한 네트워크 자원의 부족 등을 생성시킬 수 있다. 그러나, 타임아웃 조건이 발생하기 이전에 서버가 응답을 하면, 단계 410에서 클라이언트는 클라이언트 폰트 프로세싱 기능의 목록을 서버에 전송한다.
도 4는 모바일 디바이스(100)와 같은 클라이언트와의 통신 세션 개시의 서버측 흐름도(420)이다. 단계 422에서, 서버는 클라이언트로부터 세션 개시를 수신한다. 단계 424에서, 서버는 응답을 클라이언트에게 전송한다. 단계 426에서, 서버는 클라이언트 폰트 프로세싱 기능의 목록을 수신한다. 단계 428에서, 클라이언트 폰트 프로세싱 기능의 목록을 클라이언트 폰트 목록 스토어에 저장시킨다.
다른 실시예에서, 클라이언트는 서버에 저장된 관련 클라이언트 프로파일을 갖는다. 클라이언트 프로파일은 그 클라이언트와 관련된 폰트 프로세싱 기능의 목록을 포함하고, 따라서 클라이언트는 통신 세션이 개시될 때마다 폰트 프로세싱 기 능의 목록을 제공할 필요가 없다. 그러나, 클라이언트 프로파일은, 폰트 데이터 구조체가 추가되거나 클라이언트 폰트 데이터 스토어로부터 삭제되는 경우와 같이 클라이언트 폰트 프로세싱 기능이 변경될 때마다 업데이트될 수 있다.
도 5는 오그먼트 폰트 데이터를 식별하는 프로세스의 흐름도(430)이다. 단계 432에서, 서버는 클라이언트 디바이스에 대한 전자 데이터 전송 어드레스를 수신한다. 단계 434에서, 서버는 전자 데이터 전송의 폰트 데이터를 액세스하고, 내장형 폰트 데이터와 비내장형 폰트 데이터를 식별한다. 내장형 폰트 데이터는, 전자 데이터 전송이 클라이언트에 의해서 적절히 텍스트 렌더링되는 실제 폰트 데이터 구조체를 포함하고 있으므로, 오그먼트될 필요가 없다.
단계 436에서, 서버는 이 액세스된 폰트 데이터를 클라이언트 폰트 프로세싱 기능의 목록과 비교하고, 전자 데이터 전송의 비내장형 폰트 데이터에 요구되는 오그먼트 폰트 데이터를 식별한다. 단계 438에서, 오그먼트 폰트 데이터가 단계 436에서 식별되었는지를 판정한다. 오그먼트 폰트 데이터가 식별되지 않았다면, 클라이언트는 전자 데이터 전송의 텍스트를 적절히 렌더링하는데 모든 폰트 프로세싱 기능이 필요한 것으로 한다. 따라서, 단계 440이 실행되어, 전자 데이터 전송이 클라이언트에 전송된다.
오그먼트 폰트 데이터가 식별되었다면, 클라이언트는 전자 데이터 전송의 텍스트를 적절히 렌더링하는데 모든 폰트 프로세싱 기능이 필요하지 않은 것으로 한다. 따라서, 단계 442가 실행되어, 전자 데이터 전송 및 오그먼트 폰트 데이터가 클라이언트에 전송된다.
도 6은 오그먼트 폰트 데이터를 제공하는 프로세스의 흐름도(450)이다. 도 6에서 보여주는 실시예에서, 오그먼트 폰트 데이터는 서버와 제3자 폰트 서버 중 어느 하나에 저장될 수 있다. 일부 폰트는 하나 또는 그 이상의 지적 재산권으로 보호될 수 있기 때문에, 제3자인 이 지적재산권 소유권자는 그 폰트를 액세스 및/또는 이용하기 위한 조건을 달성할 수 있다. 이와 달리, 폰트는 서버에 저장되지 않고, 제3자의 폰트 서버에서 자유롭게 이용가능하게 될 수도 있다.
단계 452에서, 식별된 오그먼트 폰트 데이터를 서버 폰트 데이터와 비교하고, 단계 454에서 이 식별된 오그먼트 폰트 데이터가 서버에 저장되어 있는지를 판정한다. 오그먼트 폰트 데이터가 서버에 저장되어 있다면, 단계 456이 실행되고, 전자 데이터 전송 및 오그먼트 폰트 데이터가 클라이언트에게 전송된다.
그러나, 오그먼트 폰트 데이터가 서버에 저장되어 있지 않다면, 서버는 단계 458에서 제3자 폰트 서버로부터 오그먼트 폰트 데이터를 요청한다. 단계 460에서, 오그먼트 폰트 데이터가 수신되는지를 감시한다. 오그먼트 폰트 데이터가 수신되지 않으면, 단계 462에서 타임아웃이 발생되었는지를 판정한다. 타임아웃이 발생되지 않았다면, 단계 460으로 진행한다. 그러나, 타임아웃이 발생되었다면, 타임아웃 처리(464)가 실행된다. 타임아웃 처리(464)는 복수개의 오류 프로세싱 메시지 중 하나를 발생시키고, 하나 또는 그 이상의 프로세싱 루틴을 실행시킬 수 있다. 이와 달리, 타임아웃 처리는 오그먼트 폰트 데이터없이 단순히 전자 데이터 전송을 보낼 수 있다. 그러나, 오그먼트 폰트 데이터가 타임아웃 조건 발생 이전에 수신되면, 단계 466에서 전자 데이터 전송 및 오그먼트 폰트 데이터가 클라이언 트에게 전송된다.
도 7은 클라이언트 디바이스(500)에서의 폰트 프로세싱을 지원하도록 동작 가능한 폰트 데이터 프로세싱 시스템의 다른 실시예에 대한 구조적 블록도이다. 클라이언트 디바이스(500)는 네트워크(130)를 통해서 서버(600)와 통신한다. 네트워크는 무선 네트워크, 유선 네트워크, 또는 유무선 네트워크의 조합일 수 있다. 클라이언트 디바이스(500)는 복수개의 폰트 타입 fc1, fc2, ...fcn에 대한 클라이언트 폰트 데이터 스토어(502)를 포함한다. 클라이언트 폰트 데이터 스토어(502)는 폰트 타입 fc1, fc2, ...fcn에 대한 비트맵, 아웃라인 및/또는 스트로크 폰트 데이터, 즉 실제 폰트 데이터 구조체를 포함하고, 텍스트의 서체 디자인 및 사이즈를 렌더링하도록 클라이언트(500)에 의해서 이용될 수 있다.
서버(600)는 통상의 서버 컴퓨터 또는 게이트웨이 디바이스일 수 있으며, 클라이언트 폰트 목록 스토어(602), 서버 폰트 데이터 스토어(604), 제공업자 폰트 목록 스토어(606), 및 클라이언트 폰트 목록 스토어(602)와 서버 폰트 데이터 스토어(604)와 제공업자 폰트 목록 스토어(606)에 대한 액세스 기능을 갖는 폰트 프로세싱 소프트웨어(608)를 포함한다.
클라이언트 폰트 목록 스토어(602)는 클라이언트(500)와 관련된 클라이언트 폰트 기능의 목록을 포함한다. 예컨대, 도 7에서 보여주는 바와 같이, 복수개의 폰트 타입 fc1, fc2, ...fcn에 대한 클라이언트 폰트 데이터 스토어(502)는 클라이언트 폰트 데이터 스토어(502)의 폰트 타입 fc1, fc2, ...fcn을 식별하는 식별자 <fc1>, <fc2>, ...<fcn>의 목록을 포함하는 관련 클라이언트 폰트 목록 스토어 (602)를 갖는다. 따라서, 폰트 타입 fc1, fc2, ...fcn이 Helvetica, Courier 및 Times 폰트에 각각 대응하는 경우에는, 식별자 <fc1>, <fc2>, ...<fcn>의 목록은 Helvetica, Courier 및 Times 폰트를 각각 식별한다. 이들 식별자는 기초 폰트 타입과 같은 더욱 세부 내용, 예컨대 비트맵, 아웃라인 또는 스트로크 등을 포함할 수 있다. 일 실시예에서, 식별자 <fc1>, <fc2>, ...<fcn>의 목록은 클라이언트(500)와의 통신 세션의 개시 동안에 서버(600)에 의해서 제공될 수 있다. 다른 실시예에서는 식별자 <fc1>, <fc2>, ...<fcn>의 목록은 클라이언트(500)와 관련된 클라이언트 프로파일의 서버(600)에 저장될 수 있다.
서버 폰트 데이터 스토어(604)는 복수개의 폰트 타입 fs1, fs2, ...fsm에 대한 서버 폰트 데이터를 저장한다. 서버 폰트 데이터 스토어(604)는 폰트 타입 fs1, fs2, ...fsm에 대한 비트맵, 아웃라인 및/또는 스트로크 폰트 데이터를 포함할 수 있다. 제공업자 폰트 목록 스토어(606)는, 서버(600)가 폰트 제공업자 서버(710)와 같은 하나 또는 그 이상의 제3자 서버를 액세스하여 특정 폰트 타입 fp1, fp2, ...fpq에 대한 폰트 데이터를 수신할 수 있는 폰트 제공업자 액세스 데이터를 저장한다.
동작 시에, 서버(600)는 클라이언트(500) 또는 클라이언트(500)와 관련된 어드레스로 향하는 전자 데이터 전송(700)을 수신한다. 전자 데이터 전송(700)은 e-메일 메시지, 도큐먼트, 무선 액세스 프로토콜(WAP) 데크, 또는 다른 전송 타입의 전자 데이터를 포함할 수 있고, 텍스트 데이터(702)와 폰트 데이터(704)를 포함한다. 폰트 데이터(704)는 실제 폰트 데이터 구조체와 같은 내장형 폰트 데이터, 예 컨대 특정 서체 디자인 및 사이즈이 문자들의 세트 또는 서브세트 전체를 포함하거나, 그렇지 않고 특정 폰트 타입의 식별자와 같은 내장형 폰트 데이터, 예컨대 쿠리어 12 포인트를 포함할 수 있다. 폰트 데이터(704)는 특정 폰트 타입, 예컨대 폰트 타입 fd1, fd2, fd3 및 fd4에 따른 텍스트 데이터(702)를 렌더링하는데 이용된다. 도 7에서 보여주는 바와 같이, 폰트 데이터(704)는 비내장형 폰트 식별자 <fd1>, <fd2> 및 <fd3>과 내장형 폰트 데이터 fd4를 포함한다.
전자 데이터 전송(700)의 수신 시에, 폰트 프로세싱 소프트웨어(608)는 전자 데이터 전송(700)의 폰트 데이터(704)를 액세스하고 이 폰트 데이터(704)를 클라이언트 폰트 목록 스토어(602)의 클라이언트 폰트 기능의 목록과 비교함으로써 오그먼트 폰트 데이터를 판정한다. 오그먼트 폰트 데이터는 클라이언트(500)가 폰트 데이터(704)에 의해서 지정되는 바와 같은 정확한 서체 디자인 및 사이즈에 따라서 텍스트 데이터(702)를 렌더링할 수 있도록 클라이언트(500)에 제공되는 폰트 데이터이다. 폰트 데이터(704)가 내장되어 있으면, 오그먼트 폰트 데이터는 요구되지 않는다. 그러나, 폰트 데이터(704)가 특정 폰트 타입의 식별자, 예컨대 도 7에서 보여주는 바와 같은 식별자 <fd1>, <fd2> 및 <fd3>만을 포함하고 있으면, 클라이언트(500)가 클라이언트 폰트 데이터 스토어(502)에 저장되어 있는 지정된 폰트의 특정 서체 디자인 및 사이즈를 갖고 있지 않은 경우에 오그먼트 폰트 데이터가 요구될 수 있다.
도 7에서 보여주는 예에서, 클라이언트 폰트 데이터(704)는 특정 폰트 타입 fd1, fd2 및 fd3을 지정하는 비내장형 폰트 데이터 식별자 <fd1>, <fd2> 및 <fd3> 을 포함한다. 폰트 프로세싱 소프트웨어(608)는 이 비내장형 폰트 데이터 식별자 <fd1>, <fd2> 및 <fd3>을 서버 폰트 데이터 스토어(604) 및 제공업자 폰트 목록 스토어(606)와 비교한다. 이 비교에 기초하여, 폰트 프로세싱 소프트웨어(608)는 폰트 타입 fd1, fs1 및 fc1이 동일한 것, 예컨대 Helvetica 12 point인 것을 판정한다. 더욱이, 클라이언트 폰트 데이터 스토어(502)는 폰트 타입 fc1에 대한 폰트 데이터를 포함하고 있기 때문에, 이 폰트 타입에 대한 오그먼트 폰트 데이터는 요구되지 않는다.
또한, 폰트 프로세싱 소프트웨어(608)는 폰트 타입 fd2 및 fsm이 동일하다는 것과, 이 특정 폰트 타입이 클라이언트 폰트 목록 스토어(602)에 지정되지 있지 않다는 것을 판정한다. 따라서, 클라이언트(500)는 클라이언트 폰트 데이터 스토어(502)에 저장된 폰트 타입 fd2에 대한 폰트 데이터를 갖고 있지 않고, 따라서 오그먼트 폰트 데이터가 요구된다. 서버(600)는 서버 폰트 데이터 스토어(604)에 저장된 폰트 타입 fsm에 대한 폰트 데이터를 갖고 있으며, 따라서 폰트 타입 fsm에 대한 오그먼트 폰트 데이터(610)는 전자 데이터 전송(700)과 함께 서버(600)로부터 전송된다.
또한, 폰트 프로세싱 소프트웨어(608)는 폰트 타입 폰트 타입 fd3 및 fp1이 동일하다는 것과, 이 특정 폰트 타입이 클라이언트 폰트 목록 스토어(602)에 지정되지 있지 않다는 것을 판정한다. 따라서, 클라이언트(500)는 클라이언트 폰트 데이터 스토어(502)에 저장된 폰트 타입 fd2에 대한 폰트 데이터를 갖고 있지 않고, 따라서 오그먼트 폰트 데이터가 요구된다. 그러나, 서버(600)는 서버 폰트 데이터 스토어(604)에 저장된 폰트 타입 fp1에 대한 폰트 데이터를 갖고 있지 않다. 그러나, 폰트 데이터는 대응하는 폰트 제공업자 액세스 데이터(606)의 <fp1> 식별자에 의해서 나타내어지는 바와 같이 제3자 폰트 제공업자 서버(710)로부터 이용가능하다. 서버(600)는 폰트 요청(612)을 폰트 제공업자(710)에게 전송한다. 이어서, 폰트 제공업자(710)는 폰트 타입 fp1에 대한 폰트 데이터(712)를 액세스하고, 이 폰트 데이터(712)를 서버(600)에 제공한다. 이어서 폰트 데이터(712)는 전자 데이터 전송(700)과 함께 오그먼트 폰트 데이터(714)로서 포함된다.
마지막으로, 폰트 프로세싱 소프트웨어(608)는 폰트 데이터 fd4가 폰트 데이터로서 내장되고, 따라서 클라이언트(500)가 클라이언트 폰트 데이터 스토어(502)에 저장된 대응하는 폰트 데이터를 갖는지의 여부에 상관없이 이 폰트 타입에 대한 오그먼트 폰트 데이터는 요구되지 않는다.
폰트 프로세싱 소프트웨어(608)는 폰트 오그먼트된 전자 데이터 전송을 생성하도록 오그먼트 폰트 데이터를 전자 데이터 전송(700)에 내장시킬 수 있다. 이와 달리, 오그먼트 폰트 데이터는 전자 데이터 전송(700)에 폰트 어태치먼트로서 전송될 수 있다. 폰트 어태치먼트는 이 어태치먼트가 오그먼트 폰트 데이터를 포함하는 것을 나타내는 식별자를 포함할 수 있고, 클라이언트(500)는 이 식별자에 기초하여 어태치먼트를 자동으로 처리하는 클라이언트 폰트 프로세싱 소프트웨어(510)를 포함할 수 있다. 클라이언트 폰트 프로세싱 소프트웨어(510)는 전자 데이터 전송의 텍스트를 렌더링하는데 이용하는 임시 캐시에 오그먼트 폰트 데이터를 저장시킬 수 있다.
다른 실시예에서, 클라이언트 폰트 프로세싱 소프트웨어(510)는 폰트 어태치먼트의 오그먼트 폰트 데이터를 다른 폰트로서 클라이언트 폰트 데이터 스토어(502)에 영구적으로 저장시킴으로써 클라이언트(500)의 폰트 기능을 자동으로 업데이트시킬 수 있다. 이 실시예에서, 폰트 프로세싱 소프트웨어(608)는 새롭게 추가된 오그먼트 폰트 데이터를 클라이언트(500)의 추가 폰트 프로세싱 기능으로서 포함시키도록 클라이언트 폰트 목록 스토어(602)를 자동으로 업데이트시키거나, 클라이언트(500)로부터의 오그먼트 폰트 데이터의 접수의 확인응답 수신 시에 클라이언트 폰트 목록 스토어(602)를 업데이트시킬 수 있다.
전술한 바와 같이 폰트 프로세싱 소프트웨어(608)를 동작시키고, 또한 클라이언트 폰트 목록 스토어(602), 서버 폰트 데이터 스토어(604) 및 제공업자 폰트 목록 스토어(606)를 참조함으로써, 오그먼트 폰트 데이터는 클라이언트(500)가 텍스터 데이터를 정확하고 정밀하게 렌더링할 수 있도록 전자 데이터 전송(700)과 함께 클라이언트(500)에게 제공될 수 있다. 더욱이, 폰트 프로세싱 소프트웨어(608)는, 클라이언트(500)가 여구되는 폰트 데이터를 이미 내부에 저장하고 있는 경우, 또는 전자 데이터 전송이 내장형 폰트 데이터를 갖고 있는 경우와 같이 폰트 데이터가 요구되기 않는 경우에, 오그먼트 폰트 데이터를 제공하지 않는다.
도 7에서는 클라이언트(500)를 1개만 나타내고 있지만, 서버(600)는 복수개의 클라이언트(500)와 연계하여 동작할 수 있다. 클라이언트 폰트 목록 스토어(602)는 복수개의 클라이언트(500)에 대한 폰트 처리를 지원하도록 하나 또는 그 이상의 클라이언트와 관련된 클라이언트 폰트 기능의 목록을 포함할 수 있다.
도 8은 전자 메시지를 모바일 통신 디바이스(2020)로 그리고 모바일 통신 디바이스(2020)로부터 재유도하는 예시적인 재유도 시스템(2000)의 블록도이다. 도 1의 모바일 디바이스는 도 8의 예시적인 재유도 시스템(2000)에 사용될 수 있다. 예시적인 재유도 시스템(2000)은 기업용 서버(2004), 메일 서버(2002), 전자 메시징(예컨대, e-메일) 계정 데이터에 대한 저장 매체(2006), 및 무선 게이트웨이(2016)를 포함한다. 또한, 모바일 통신 디바이스(2020), 무선 네트워크(2018), 광역 네트워크(WAN)(2012), 방화벽(2010), 데스크탑 클라이언트(2008) 및 하나 또는 그 이상의 다른 전자 메시징 시스템(2014)도 도시되어 있다. 도 2의 서버(200) 또는 도 7의 서버(600)는 메일 서버(2002)와 기업용 서버(2004) 중 어느 하나 안에 구현될 수 있다.
메일 서버(2002)는 로컬 에리어 컴퓨터 네트워크(LAN) 내의 컴퓨터에서 실행하는 전자 메시징 소프트웨어를 포함할 수 있다. 메일 서버(2002)는 LAN을 거쳐서 로컬 네트워크 디바이스(2004, 2006, 2008)에 결합되고, WAN(2012)을 거쳐서 원격 네트워크 디바이스(2014, 2016)에 결합된다. LAN과 WAN(2012)은 방화벽(2010)에 의해서 분리될 수 있다.
메일 서버(2002)는 LAN 내의 각 데스크탑 클라이언트(2008)마다 전자 메시지 계정 데이터베이스(2006) 내에 전자 메시지 계정을 유지한다. 전자 메시지 계정 데이터베이스(2006)는 메일 서버(2002)에 결합된 하나 또는 그 이상의 저장 디바이스일 수 있으며, 또한 메일 서버(2002)와 동일한 네트워크 디바이스 내에 또는 LAN 내의 하나 또는 그 이상의 독립된 디바이스 내에 포함될 수 있다. 데스크탑 클라 이언트(2008)는, LAN을 거쳐서 메일 서버(2002)에 결합되어, 메일 서버를 거쳐서 전자 메시지를 송수신하도록 전자 메시징 소프트웨어를 실행시키는 복수개의 컴퓨터(예컨대, 개인용 컴퓨터, 단말기, 랩톱 컴퓨터, 또는 다른 프로세싱 디바이스) 중 하나의 컴퓨터일 수 있다.
데스크탑 클라이언트(2008)로부터 전송된 전자 메시지는 대응하는 전자 메시지 계정(2006) 내의 유출(outgoing) 메시지 저장 위치("아웃박스")에 메일 서버(2002)에 의해서 저장된다. 유출 메시지가 LAN 내의 전자 메시지 계정으로 향하는 경우에, 메일 서버(2002)는 이 메시지를 적절한 전자 메시지 계정(2006)의 유입(incoming) 메시지 저장 위치("인박스")로 전달한다. 그러나, 유출 메시지가 다른 전자 메시징 시스템(2014)의 저자 메시지 계정으로 어드레스되는 경우에는, 메시지는 WAN(2012)을 통해서 전달된다. 마찬가지로, 전자 메시지 계정(2006)으로 어드레스되는 유입 전자 메시지는 메일 서버(2002)에 의해서 수신되고, 적절한 유입 메시지 저장 위치("인박스") 내의 전자 메시지 계정 데이터베이스(2006)에 저장된다. 이어서, 유입 전자 메시지는 데스크탑 클라이언트(2008)에 의해서 저자 메시지 계정(2006)으로부터 검색될 수 있고, 또는 메일 서버(2002)에 의해서 데스크탑 클라이언트(2008)로 자동으로 푸시될 수 있다.
기업용 서버(2004)는 LAN 내의 컴퓨터 상에서 실행되는 전자 메시지 재유도 소프트웨어를 포함할 수 있다. 기업용 서버(2004)는 전자 메시지 계정(2006)으로부터의 전자 메시지를 모바일 통신 디바이스(2020)로 재유도시키고, 메일 서버(2002)에 의한 전달을 위해서 모바일 통신 디바이스(2020)로부터 전송된 메시지를 전자 메시지 계정(2006)으로 배치시키는 옵션이다. 기업용 서버(2004)는 모바일 통신 디바이스(2020)과 통신하는데 이용되는 무선 식별(예컨대, PIN)과 같은 모바일 디바이스 정보를 저장한다. 기업용 서버(2004)는, 예컨대 WAN(2012)과 무선 네트워크(2018)간의 인터페이스를 제공하는 무선 게이트웨이(2016)와의 직접 TCP/IP 레벨 연결을 이용하여 모바일 통신 디바이스(2020)와 통신할 수 있다.
전자 메시지가 전자 메시지 계정(2006)의 인박스에 수신되는 경우에, 전자 메시지는 기업용 서버(2004)에 의해서 검출되고, 메시지 및 필요한 모바일 디바이스 정보의 사본은 WAN(2012)을 통해서 무선 게이트웨이(2016)로 전송된다. 예컨대, 기업용 서버(2004)는 모바일 통신 디바이스(2020)에 대한 무선 식별자(예컨대, PIN)와 함께 메시지의 사본을 하나 또는 그 이상의 데이터 패킷으로 캡슐화하고, 이 데이터 패킷을 직접 TCP/IP 레벨 연결을 통해서 무선 게이트웨이(2016)로 전송할 수 있다. 이어서, 무선 게이트웨이(2016)는 무선 식별 및/또는 다른 모바일 디바이스 정보를 이용하여, 전자 메시지를 포함하는 데이터 패킷을 무선 네트워크(2018)를 통해서 모바일 통신 디바이스(2020)로 전송할 수 있다.
모바일 통신 디바이스(2020)로부터 전송되는 전자 메시지는 기업용 서버(2004)에 대한 네트워크 식별과 함께 하나 또는 그 이상의 데이터 패킷으로 캡슐화되고 나서, 무선 네트워크(2018)를 통해서 무선 게이트웨이(2016)로 전송될 수 있다. 무선 게이트웨이(2016)는 기업용 서버(2004)에 대한 네트워크 식별을 이용하여, 데이터 패킷을 WAN(2012)를 통해, 바람직하게는 직접 TCP/IP 레벨 연결을 이용하여 기업용 서버(2004)에 전달할 수 있다. 무선 게이트웨이(2016)로부터 데이터 패킷을 수신할 때에, 기업용 서버(2004)는 감싸인 전자 메시지를 관련 전자 메시지 계정(2006)의 아웃박스에 배치시킨다. 이어서, 메일 서버(2002)는 아웃박스에서 전자 메시지를 검출하고 이 메시지를 전술한 바와 같이 전달한다.
기업용 서버(2004)와 모바일 통신 디바이스(2020)간에 전송되는 모든 전자 메시지를 암호화함으로써 방화벽(2010) 외부에서도 보안이 유지될 수 있다. 예컨대, 모바일 통신 디바이스(2020)로 재유도되는 전자 메시지는 기업용 서버(2004)에 의해서 암호화되고 압축될 수 있으며, 이어서 이 암호화된 메시지는 모바일 통신 디바이스(2020)로 전달하기 위해서 하나 또는 그 이상의 데이터 패킷에 캡슐화될 수 있다. 보안을 유지하기 위해서, 전자 메시지는 기업용 서버(2004)에서부터 모바일 통신 디바이스(2020)까지의 전체 통신 경로(2016, 2018, 2012)에 걸쳐서 암호화 상태를 유지할 수 있다. 마찬가지로, 모바일 통신 디바이스(2020)로부터 전송되는 전자 메시지는, 패킷화되어 기업용 서버(2004)로 전송되기 이전에 모바일 통신 디바이스(2020)에 의해서 암호화되고 압축될 수 있고, 또한 모바일 통신 디바이스(2020)에서부터 기업용 서버(2004)까지의 전체 통신 경로(2016, 2018, 2012)에 걸쳐서 암호화 상태를 유지할 수 있다.
추가로, 기업용 서버(2004)는 통신 서브시스템, 메모리 서브시스템 및 프로세싱 서브시스템을 포함할 수 있다. 통신 서브시스템은 WAN(2012)을 통해서 무선 게이트웨이(2016)와 통신하도록 동작할 수 있다. 메모리 서브시스템은 데이터와 프로그램 정보를 저장할 수 있도록 동작할 수 있다. 프로세싱 서브시스템은 메모리 서브시스템에 데이터를 저장하고 검색하여 이 메모리 서브시스템에 저장된 프로 그램을 실행시키고, 또한 통신 서브시스템으로 하여금 WAN(2012)을 통해서 정보를 송수신하도록 동작할 수 있다.
도 9는 예시적인 모바일 통신 디바이스(2100)를 도시하는 블록도이다. 이 예시적인 모바일 통신 디바이스(2100)의 블록도는 도 1의 모바일 디바이스(100)보다 더욱 상세한 블록도로 고려될 수 있다. 예시적인 모바일 통신 디바이스(2100)는 프로세싱 서브시스템(2138), 통신 서브시스템(2111), 단거리 통신 서브시스템(2140), 메모리 서브시스템(2124, 2126), 및 다양한 다른 디바이스 서브시스템 및/또는 소프트웨어 모듈(2142)을 포함한다. 또한, 예시적인 모바일 통신 디바이스(2100)는 디스플레이(2122), 직렬 포트(2130), 키보드(2132), 스피커(2134), 마이크로폰(2136), 하나 또는 그 이상의 보조 입출력 디바이스(2128), 및/또는 다른 사용자 인터페이스 디바이스를 포함할 수 있는 사용자 인터페이스를 포함한다.
프로세싱 서브시스템(2138)은 예시적인 모바일 통신 디바이스(2100)의 전체 동작을 제어한다. 프로세싱 서브시스템(2138)이 실행하는 오퍼레이팅 시스템 소프트웨어는 플래시 메모리(2124)와 같은 영구 스토어에 저장될 수 있지만, 판독 전용 메모리(ROM)과 같은 메모리 서브시스템의 다른 타입의 메모리 시스템 또는 유사한 스토리지 요소에 저장될 수도 있다. 추가로, 시스템 소프트웨어, 지정 디바이스 애플리케이션, 또는 이들의 부분은 랜덤 액세스 메모리(RAM)(2126)와 같은 휘발성 스토어에 일시적으로 로드될 수 있다. 모바일 디바이스(2100)이 수신한 통신 신호는 RAM(2126)에 저장될 수도 있다.
오퍼레이팅 시스템 기능 외에, 프로세싱 서브시스템(2138)은 디바이스(2100) 에 대한 소프트웨어 애플리케이션(2124)을 실행시킬 수 있다. 데이터 및 음성 통신과 같은 기초 디바이스 동작을 제어하는 소정 세트의 애플리케이션은 제조 시에 디바이스(2100)에 인스톨될 수 있다. 추가로, 전자 메시징 애플리케이션을 포함하는 개인용 정보 관리자(PIM) 애플리케이션이 상기 디바이스에 인스톨될 수도 있다. PIM은 예컨대 e-메일, 캘린더 이벤트, 음성 메일, 약속 및 작업 아이템과 같은 데이터 아이템을 조직하고 관리하도록 동작할 수 있다. 또한, PIM 애플리케이션은 무선 네트워크(2119)를 통해서 데이터 아이템을 송수신하도록 동작할 수 있다.
데이터 및 음성 통신을 포함하는 통신 기능은 통신 서브시스템(2111)을 통해서, 그리고 경우에 따라서는 단거리 통신 서브시스템(2140)을 통해서 수행된다. 통신 서브시스템(2111)은 수신기(2112), 송신기(2114) 및 하나 또는 그 이상의 안테나(2116, 2118)를 포함한다. 추가로, 통신 서브시스템(2111)은 디지털 신호 처리기(DPS)(2120) 또는 다른 프로세싱 디바이스와 같은 처리 모듈과 로컬 오실레이터(LO)(2113)를 포함한다. 통신 서브시스템(2111)의 지정된 디자인 및 구성은 모바일 디바이스(2100)이 동작하도록 의도되는 통신 네트워크에 달려 있다. 예컨대, 모바일 디바이스(2100)는 MobitexTM 모바일 통신 시스템, DataTACTM 모바일 통신 시스템, GSM 네트워크, GPRS 네트워크, UMTS 네트워크, CDMA 네트워크, iDEN 네트워크, 및/또는 EDGE 네트워크에서 동작하도록 설계된 통신 서브시스템(2111)을 포함할 수 있다.
네트워크 액세스 요건은 통신 시스템의 타입에 따라서 변화한다. 예컨대, Mobitex 네트워크와 DataTAC 네트워크의 경우, 모바일 디바이스는 각 디바이스에 관련된 고유 개인 식별 번호 또는 PIN을 이용하여 네트워크에 등록된다. 그러나, UMTS 네트워크와 GSM/GPRS 네트워크의 경우에는, 네트워크 액세스는 디바이스의 가입자 또는 사용자와 관련되어 있다. 따라서, GPRS 디바이스는 GSM/GPRS 네트워크에서 동작하도록, 통상 SIM 카드라고 부르는 가입자 ID 모듈을 필요로 한다.
요구되는 네트워크 등록 또는 활성 절차가 완료되는 때에, 모바일 디바이스(2100)는 통신 네트워크(2119)를 통해서 통신 신호를 송수신할 수 있다. 안테나(2116)가 통신 네트워크(2119)로부터 수신하는 신호는 수신기(2112)로 라우팅되고, 수신기(2110)는 신호 증폭 기능, 주파수 하향 변환 기능, 필터링 기능, 채널 선택 기능 등을 제공하고, 또한 아날로그-디지털 변환 기능도 제공할 수 있다. 수신된 신호를 아날로그-디지털 변환함으로써, DSP는 복조 및 디코딩과 같은 보다 복잡한 통신 기능을 수행할 수 있다. 마찬가지 방식으로, 네트워크(2119)로 전송되는 신호는 DSP(2120)에 의해서 처리(예컨대, 변조 및 인코딩)되고, 이어서 송신기(2114)로 제공되어, 디지털-아날로그 변환, 주파수 상향 변환, 필터링, 증폭 및 안테나(2118)를 통한 통신 네트워크(2119)(또는 네트워크들)로의 전송을 행한다.
통신 신호의 처리에 더하여, DSP(2120)는 수신기(2112) 및 송신기(2114)의 제어에 제공된다. 예컨대, 수신기(2112) 및 송신기(2114)의 통신 신호에 적용되는 이득은 DSP(2120)에 구성되는 자동 이득 제어 알고리즘을 통해서 적응방식으로 제어될 수 있다.
데이터 통신 모드에서, 텍스트 메시지 또는 웹페이지 다운로드와 같은 수신 신호는 통신 서브시스템(2111)에 의해서 처리되어, 프로세싱 디바이스(2138)에 입력된다. 이어서, 수신 신호는 프로세싱 디바이스(2138)에 의해서 더 처리되어, 디스플레이(2122) 또는 대안으로는 몇 개의 다른 보즈 I/O 디바이스(2128)에 출력된다. 또한, 디바이스 사용자는 터치패드, 록커 스위치, 썸휠(thumb-wheel) 또는 몇 개의 다른 타입의 입력 디바이스와 같은 몇 개의 다른 보조 I/O 디바이스(2128) 및 키보드(2138)를 이용하여 e-메일 메시지와 같은 데이터 아이템을 만들 수 있다. 이어서, 이 만들어진 데이터 아이템은 통신 네트워크(2119)를 통해서 통신 서브시스템(2111)을 거쳐 전송될 수 있다.
음성 통신 모드에서, 디바이스의 전체 동작은, 수신 신호가 스피커(2134)에 출력되고, 전송용 신호가 마이크로폰(2136)에 의해서 생성되는 것을 제외하고, 데이터 통신 모드와 거의 같다. 또한, 음성 메시지 레코딩 서브시스템과 같은 대안의 음성 또는 오디오 I/O 서브시스템은 디바이스(2100)에 구성될 수도 있다. 추가로, 디스플레이(2100)는, 예컨대 호출측의 ID, 음성 호출의 지속 시간, 또는 다른 음성 호출 관련 정보를 디스플레이하도록 음성 통신 모드로 이용될 수 있다.
단거리 통신 서브시스템(2140)은, 반드시 유사한 디바이스일 필요는 없는 모바일 디바이스(2100)와 다른 근사 시스템 또는 디바이스간의 통신을 가능하게 한다. 예컨대, 단거리 통신 서브시스템(2140)은 유사하게 구동하는 시스템 및 디바이스와의 통신을 제공하도록 적외선 디바이스 및 관련 회로 및 구성요소, 또는 Bluetooth TM 통신 모듈을 포함할 수 있다.
이 특허 문서에서 개시하는 장치, 방법, 및 흐름도와 구조체의 블록도는 프로세싱 서브시스템에 의해서 실행가능한 프로그램 명령어를 포함하는 프로그램 코드에 의해서, 이 특허 문서에서 개시하는 모바일 디바이스, 서버 및 게이트웨이에 구성될 수 있다. 그러나, 이 특허 문서에서 개히하는 방법 및 흐름도를 수행하도록 구성되는 펌웨어 도는 매우 적절하게 설게된 하드웨어와 같은 다른 구성도 사용될 수 있다. 또한, 이 특허 문서에서 개시하는 흐름도와 구조체 블록도는 특정 방법 및/또는 각 방법단계들을 지원하는 대응하는 행위들 및 공개된 구조체를 지원하는 대응하는 기능들을 개시하고 있고, 또한 이 특허 문서에서 개시하는 흐름도와 구조체 블록도는 대응하는 소프트웨어 구조 및 알고리즘 및 이들의 등가물을 구성하는데 이용될 수 있다. 더욱이, 이 특허 문서에서 개시한 장치 및 방법은 LAN, WAN 또는 다른 컴퓨터 네트워크를 통해서 하나 또는 그 이상의 서버와 통신하는 랩탑 또는 데스크탑 컴퓨터와 같은, 모바일 디바이스 이외의 다른 컴퓨팅 디바이스에서도 구성될 수 있다.
또한, 이제까지 이 특허 문서에서 개시한 시스템과 방법은 상이한 폰트 타입(예컨대, 특정 폰트, 또는 특정 폰트, 폰트 사이즈 및 스타일 등)을 식별하고 용이하게 하는 것으로서 설명되었지만, 이들 시스템과 방법은 특정 문자 스크립트의 처리를 용이하게 하는 것에 적용될 수도 있다. 예컨대, 모바일 디바이스가 Latin-1 스크립트에 대한 Arial bold 폰트와 Latin-2 스크립트에 대한 Arial bold 폰트를 지원하는 경우에는, 시스템과 방법은 Latin-2 스크립트 데이터를 모바일 디바이스에 적절히 제공하도록 적응될 수 있다.
이 특허 문서에서 개시한 실시예들은 특허청구범위에 개시한 본 발명의 요소들에 대응하는 요소들을 갖는 구조, 시스템 또는 방법의 예이다. 이 서면의 설명에 의해서, 당업자는 마찬가지로 특허청구범위에 개시한 본 발명의 요소들에 대응하는 대안의 요소들을 갖는 실시예들을 제조하고 이용할 수 있다. 따라서, 본 발명이 의도하는 범위는 특허청구범위의 문언과는 상이한 다른 구조, 시스템 또는 방법을 포함하고, 특허청구범위의 문언과는 실질상 차이가 있는 다른 구조, 시스템 또는 방법을 더 포함한다.
이상, 본 발명은 클라이언트 폰트 목록 스토어 및 폰트 프로세싱 소프트웨어를 포함함으로써, 클라이언트 디바이스로의 전자 데이터 전송을 위한 폰트 데이터의 처리를 용이하게 한다.

Claims (23)

  1. 클라이언트 디바이스로의 전자 데이터 전송에서 폰트 데이터의 처리를 용이하게 하는 시스템으로서,
    하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록을 포함하는 클라이언트 폰트 목록 스토어와,
    컴퓨터 판독가능한 매체에 저장되고, 프로세싱 디바이스로 하여금, 상기 하나 또는 그 이상의 클라이언트 디바이스에 대응하는 적어도 하나의 클라이언트 디바이스로 어드레스되는 전자 데이터 전송을 수신하게 하며, 상기 전자 데이터 전송의 폰트 데이터를 액세스하고 이 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교함으로써 오그먼트 폰트 데이터(augment font data)를 판정하게 하며, 상기 오그먼트 폰트 데이터를 상기 적어도 하나의 클라이언트 디바이스로의 전자 데이터 전송에 포함시키게 하는 프로세서 실행가능한 명령어를 포함하는 폰트 프로세싱 소프트웨어
    를 포함하는 폰트 데이터 처리 용이화 시스템.
  2. 제1항에 있어서, 상기 폰트 프로세싱 소프트웨어는 프로세싱 디바이스로 하여금 상기 하나 또는 그 이상의 클라이언트 디바이스로부터 상기 클라이언트 폰트 기능의 목록을 요청하고, 상기 응답시에 수신되는 상기 클라이언트 폰트 기능의 목록을 상기 클라이언트 폰트 목록 스토어에 저장시키는 프로세서 실행가능한 명령어 를 더 포함하는 것인 폰트 데이터 처리 용이화 시스템.
  3. 제1항에 있어서, 상기 하나 또는 그 이상의 클라이언트 디바이스는 모바일 통신 디바이스를 포함하는 것인 폰트 데이터 처리 용이화 시스템.
  4. 제3항에 있어서, 상기 전자 데이터 전송은 전자 도큐먼트를 포함하는 것인 폰트 데이터 처리 용이화 시스템.
  5. 제3항에 있어서, 상기 전자 데이터 전송은 무선 액세스 프로토콜(WAP) 데크를 포함하는 것인 폰트 데이터 처리 용이화 시스템.
  6. 제1항에 있어서, 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록은 상기 하나 또는 그 이상의 클라이언트 디바이스 각각에 의해서 지원되는 폰트 목록을 포함하는 것인 폰트 데이터 처리 용이화 시스템.
  7. 제1항에 있어서, 상기 폰트 프로세싱 소프트웨어는 저장된 폰트 데이터를 갖는 서버 컴퓨터에서 실행되는 것인 폰트 데이터 처리 용이화 시스템.
  8. 제7항에 있어서, 상기 폰트 프로세싱 소프트웨어는 오그먼트 폰트 데이터가 상기 저장된 폰트 데이터 안에 포함되어 있지 않은 경우에 상기 서버 컴퓨터로 하여금 오그먼트 폰트 제공업자로부터 상기 오그먼트 폰트 데이터를 요청하여 수신하게 하는 프로세서 실행가능한 명령어를 더 포함하는 것인 폰트 데이터 처리 용이화 시스템.
  9. 제1항에 있어서, 복수개의 폰트 타입에 대한 서버 폰트 데이터를 포함하는 서버 폰트 데이터 스토어와,
    폰트 제공업자 액세스 데이터를 포함하는 제공업자 폰트 목록 스토어
    를 더 포함하고,
    상기 프로세서 실행가능한 명령어는 프로세싱 디바이스로 하여금 상기 서버 폰트 데이터 스토어를 액세스하게 하여 오그먼트 폰트 데이터를 획득하고, 상기 제공업자 폰트 목록 스토어를 액세스하게 하여 폰트 제공업자에게 요청을 발송하여 오그먼트 폰트 데이터를 획득하게 하는 것인 폰트 데이터 처리 용이화 시스템.
  10. 클라이언트 디바이스로의 전자 데이터 전송에서 폰트 데이터의 처리를 용이하게 하는 방법으로서,
    하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록을 저장하는 단계와,
    상기 하나 또는 그 이상의 클라이언트 디바이스에 대응하는 적어도 하나의 클라이언트 디바이스로 어드레스되는 전자 데이터 전송에서의 폰트 데이터를 액세 스하는 단계와,
    상기 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교하는 단계와,
    상기 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교하는 것에 기초하여 오그먼트 폰트 데이터를 식별하는 단계와,
    상기 오그먼트 폰트 데이터를 상기 적어도 하나의 클라이언트 디바이스로의 전자 데이터 전송에 포함시키는 단계
    를 포함하는 폰트 데이터 처리 용이화 방법.
  11. 제10항에 있어서, 상기 하나 또는 그 이상의 클라이언트 디바이스로부터 상기 클라이언트 폰트 기능의 목록을 요청하는 단계를 더 포함하는 것인 폰트 데이터 처리 용이화 방법.
  12. 제10항에 있어서, 상기 하나 또는 그 이상의 클라이언트 디바이스는 모바일 통신 디바이스를 포함하는 것인 폰트 데이터 처리 용이화 방법.
  13. 제12항에 있어서, 상기 전자 데이터 전송은 전자 도큐먼트를 포함하는 것인 폰트 데이터 처리 용이화 방법.
  14. 제12항에 있어서, 상기 전자 데이터 전송은 무선 액세스 프로토콜(WAP) 데크를 포함하는 것인 폰트 데이터 처리 용이화 방법.
  15. 제12항에 있어서, 상기 전자 데이터 전송은 e-메일 메시지를 포함하는 것인 폰트 데이터 처리 용이화 방법.
  16. 제10항에 있어서, 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록을 저장하는 단계는 상기 하나 또는 그 이상의 클라이언트 디바이스의 각각에 의해서 지원되는 폰트의 목록을 저장하는 단계를 포함하는 것인 폰트 데이터 처리 용이화 방법.
  17. 제10항에 있어서, 상기 오그먼트 폰트 데이터가 폰트 데이터 스토어에 저장되어 있는 지를 판정하는 단계와,
    상기 오그먼트 폰트 데이터가 상기 폰트 데이터 스토어에 저장되어 있지 않은 경우에 오그먼트 폰트 제공업자로부터 오그먼트 폰트 데이터를 요청하는 단계를 더 포함하는 것인 폰트 데이터 처리 용이화 방법.
  18. 클라이언트 디바이스로의 전자 데이터 전송에서 폰트 데이터의 처리를 용이하게 하는 시스템으로서,
    하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록을 저장시키는 수단과,
    상기 하나 또는 그 이상의 클라이언트 디바이스에 대응하는 적어도 하나의 클라이언트 디바이스로 어드레스되는 전자 데이터 전송에서의 폰트 데이터를 액세스하고, 이 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교하며, 상기 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능의 목록과 비교하는 것에 기초하여 오그먼트 폰트 데이터를 식별하고, 상기 오그먼트 폰트 데이터를 상기 적어도 하나의 클라이언트 디바이스로의 전자 데이터 전송에 포함시키는 수단
    을 포함하는 폰트 데이터 처리 용이화 시스템.
  19. 하나 또는 그 이상의 클라이언트 디바이스로 어드레스되는 전자 메시지에서 폰트 데이터의 처리를 용이하게 하는 방법으로서,
    상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능을 판정하는 단계와,
    상기 하나 또는 그 이상의 클라이언트 디바이스에 대응하는 하나 또는 적어도 하나의 클라이언트 디바이스로 어드레스되는 전자 메시지를 수신하는 단계와,
    상기 전자 메시지의 폰트 데이터를 액세스하는 단계와,
    상기 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 데이터 기능과 비교하는 단계와,
    상기 액세스된 폰트 데이터를 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 데이터 기능과 비교하는 것에 기초하여 오그먼트 폰트 데이터를 식별하는 단계와,
    상기 오그먼트 폰트 데이터를 상기 적어도 하나의 클라이언트 디바이스로 어드레스되는 전자 데이터 전송에 포함시켜 폰트 오드먼트된 전자 메시지를 생성하는 단계와,
    상기 폰트 오그먼트된 전자 메시지를 상기 적어도 하나의 클라이언트 디바이스에 전송하는 단계
    를 포함하는 폰트 데이터 처리 용이화 방법.
  20. 제19항에 있어서, 상기 하나 또는 그 이상의 클라이언트 디바이스와 관련된 클라이언트 폰트 기능을 판정하는 단계는 상기 하나 또는 그 이상의 클라이언트 디의 각각으로부터 클라이언트 폰트 기능의 목록을 수신하는 단계를 포함하는 것인 폰트 데이터 처리 용이화 방법.
  21. 제20항에 있어서, 상기 하나 또는 그 이상의 클라이언트 디바이스는 모바일 통신 디바이스인 것인 폰트 데이터 처리 용이화 방법.
  22. 모바일 디바이스로 어드레스되는 전자 메시지의 폰트 데이터의 처리를 용이하게 하는 방법으로서,
    전자 메시지를 수신하는 단계와,
    상기 전자 메시지가 오그먼트 폰트 데이터를 포함하는 폰트 어태치먼트를 포함하는 지를 판정하는 단계와,
    상기 전자 메시지가 오그먼트 폰트 데이터를 포함하는 폰트 어태치먼트를 포함하고 있다고 판정하는 때에, 상기 오그먼트 폰트 데이터를 클라이언트 폰트 데이터 스토어에 자동으로 저장시키는 단계
    를 포함하는 폰트 데이터 처리 용이화 방법.
  23. 제22항에 있어서, 상기 폰트 데이터를 상기 클라이언트 폰트 데이터 스토어에 자동 저장시킨 사실을 폰트 서버에 통지하는 단계를 더 포함하는 것인 폰트 데이터 처리 용이화 방법.
KR1020050016952A 2004-02-27 2005-02-28 폰트 데이터 처리 시스템 및 방법 KR100715169B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04004555.1 2004-02-27
EP04004555A EP1569130B1 (en) 2004-02-27 2004-02-27 Font data processing system and method

Publications (2)

Publication Number Publication Date
KR20060043292A true KR20060043292A (ko) 2006-05-15
KR100715169B1 KR100715169B1 (ko) 2007-05-08

Family

ID=34745928

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050016952A KR100715169B1 (ko) 2004-02-27 2005-02-28 폰트 데이터 처리 시스템 및 방법

Country Status (8)

Country Link
EP (1) EP1569130B1 (ko)
KR (1) KR100715169B1 (ko)
CN (1) CN100440197C (ko)
AT (1) ATE390669T1 (ko)
CA (1) CA2498438C (ko)
DE (1) DE602004012707T2 (ko)
SG (1) SG114795A1 (ko)
TW (1) TWI275007B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100717008B1 (ko) * 2005-05-31 2007-05-10 삼성전자주식회사 부분폰트 파일 송신 및 수신하는 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE545906T1 (de) 2004-12-23 2012-03-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zum konfigurieren von softwareressourcen zum spielen von netzwerkprogrammen
US9264483B2 (en) 2007-07-18 2016-02-16 Hammond Development International, Inc. Method and system for enabling a communication device to remotely execute an application
US8769405B2 (en) * 2009-10-16 2014-07-01 Celartem, Inc. Reduced glyph font files
US20110115797A1 (en) * 2009-11-19 2011-05-19 Kaplan Gregory A Dynamic Streaming of Font Subsets
US8687004B2 (en) * 2010-11-01 2014-04-01 Apple Inc. Font file with graphic images
KR101433301B1 (ko) 2013-05-10 2014-09-23 김태정 다중 글립폰트를 이용한 한글폰트 디스플레이시스템
US20140362104A1 (en) * 2013-06-11 2014-12-11 Microsoft Corporation Layered z-order and hinted color fonts with dynamic palettes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69637125T2 (de) * 1995-09-25 2008-01-24 Adobe Systems, Inc., San Jose Optimaler zugriff auf elektronische dokumente
US5940581A (en) * 1996-03-21 1999-08-17 Apple Computer, Inc. Dynamic font management for large character sets
US6320587B1 (en) * 1996-08-26 2001-11-20 Fujitsu Limited Font processing apparatus in network environment and method thereof
US6073147A (en) * 1997-06-10 2000-06-06 Apple Computer, Inc. System for distributing font resources over a computer network
JP2001092814A (ja) * 1999-09-22 2001-04-06 Hitachi Information Systems Ltd 文書送信方法および文書送信システム、ならびに文書変換プログラムを記録した記録媒体
JP2001117844A (ja) 1999-10-20 2001-04-27 Nec Corp 無線通信システム及びそれに用いる無線クライアントの表示言語切替方法
JP2002312279A (ja) 2001-04-11 2002-10-25 Kenwood Corp 情報通信システム、ゲートウェイサーバ、その通信方法、及び情報通信端末
KR20030074860A (ko) * 2002-03-14 2003-09-22 김창배 이동 통신 단말기의 다국어 지원 시스템 및 방법
EP1540572B1 (en) * 2002-07-03 2011-02-23 2012244 Ontario Inc. Scalable stroke font system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100717008B1 (ko) * 2005-05-31 2007-05-10 삼성전자주식회사 부분폰트 파일 송신 및 수신하는 방법 및 장치

Also Published As

Publication number Publication date
KR100715169B1 (ko) 2007-05-08
EP1569130A1 (en) 2005-08-31
TWI275007B (en) 2007-03-01
CN1661590A (zh) 2005-08-31
CA2498438C (en) 2009-06-09
EP1569130B1 (en) 2008-03-26
DE602004012707T2 (de) 2009-04-16
CA2498438A1 (en) 2005-08-27
ATE390669T1 (de) 2008-04-15
DE602004012707D1 (de) 2008-05-08
CN100440197C (zh) 2008-12-03
TW200540653A (en) 2005-12-16
SG114795A1 (en) 2005-09-28

Similar Documents

Publication Publication Date Title
US8689101B2 (en) Font data processing system and method
US8737579B2 (en) Methods of routing messages using a listener registry
US8805425B2 (en) Integrated messaging
US8327127B2 (en) Web content customization via adaptation web services
US20040110462A1 (en) Method and system for creating rich calls
US6795711B1 (en) Multimedia message content adaptation
KR100895028B1 (ko) 콘텐츠를 단말에 제공하고 단말에서 그런 콘텐츠의랜더링을 지시하기 위한 시스템, 방법, 및 컴퓨터 프로그램생성물
US20140351711A1 (en) Integrated Messaging
US20060195511A1 (en) Configuration of digital content communication systems
KR20070038094A (ko) 단말에 콘텐츠를 제공하기 위한 시스템, 방법 및 컴퓨터프로그램 제품
US20060155811A1 (en) System and method for mobile e-mail management
US20090005090A1 (en) Method for Providing Global Short Message Service
KR100715169B1 (ko) 폰트 데이터 처리 시스템 및 방법
JP4625487B2 (ja) モバイル通信機器からの電子メッセージをフォーマットするシステムおよび方法
US9240902B2 (en) Attachment server network for viewing attachments on a portable electronic device
JP2008017519A6 (ja) モバイル通信機器からの電子メッセージをフォーマットするシステムおよび方法
US7945246B2 (en) System and method for establishing authenticated network communications in electronic equipment
EP1675351B1 (en) Tailoring content for mobile electronic device based on network
US8595304B2 (en) System and method for reviewing attachment content on a mobile device
JP2006254119A (ja) 携帯通信端末連携システム
EP2007089B1 (en) Attachment server network for viewing attachments on a portable electronic device

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20050228

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20060922

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20070130

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20070430

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20070502

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20100427

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20110318

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20120409

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20130403

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20130403

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20140409

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20140409

Start annual number: 8

End annual number: 8

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20160309