KR101608112B1 - 웹상의 문서보기를 위해 폰트를 제공하는 컴퓨터 구현방법 및 시스템과 컴퓨터 판독가능 매체 - Google Patents

웹상의 문서보기를 위해 폰트를 제공하는 컴퓨터 구현방법 및 시스템과 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR101608112B1
KR101608112B1 KR1020117019369A KR20117019369A KR101608112B1 KR 101608112 B1 KR101608112 B1 KR 101608112B1 KR 1020117019369 A KR1020117019369 A KR 1020117019369A KR 20117019369 A KR20117019369 A KR 20117019369A KR 101608112 B1 KR101608112 B1 KR 101608112B1
Authority
KR
South Korea
Prior art keywords
document
font
rendered
subset
slide
Prior art date
Application number
KR1020117019369A
Other languages
English (en)
Other versions
KR20110132332A (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 KR20110132332A publication Critical patent/KR20110132332A/ko
Application granted granted Critical
Publication of KR101608112B1 publication Critical patent/KR101608112B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • 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
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

문서에 대응한 렌더링된 문서에 대한 요청을 수신한다. 저장장치로부터 문서를 검색한다. 문서를 렌더링된 문서로 변환한다. 렌더링된 문서와 관련된 하나 이상의 서버 폰트를 생성한다. 렌더링된 문서와 서버 폰트 파일을 저장한다.

Description

웹상의 문서보기를 위해 폰트를 제공하는 컴퓨터 구현방법 및 시스템과 컴퓨터 판독가능 매체{FONT HANDLING FOR VIEWING DOCUMENTS ON THE WEB}
워드 프로세싱 및 다른 저작 소프트웨어 애플리케이션은 문서를 작성할 수 있는 방대한 폰트 라이브러리를 포함할 수 있다. 주어진 문서는 하나 이상의 상이한 폰트로 포맷된 텍스트를 포함할 수 있다. 이들 폰트는 글리프(glyphs), 문자, 기호, 그리고 소정 방식으로 텍스트를 디스플레이하기 위한 다양한 다른 정보를 포함한 파일에 저장될 수 있다. 문서 텍스트를 적절히 디스플레이하기 위하여, 문서 보기 애플리케이션은 적절한 폰트 파일에 대한 액세스를 필요로 할 수 있다.
웹 브라우저는 웹(web: World Wide Web)을 통해 공유되는 문서를 보기 위한 공통 도구이다. 종래 웹 브라우저는 HTML(HyperText Markup Language)로 작성된 문서를 디스플레이한다. 그러나 HTML은 종래 저작 애플리케이션에 비하여 제한된 문서 포맷 능력만을 제공하므로, 그들의 원 포맷으로부터 HTML로 변환된 문서는 일반적으로 레이아웃 및 다른 시각 정보를 잃어버리게 된다. 따라서 웹 브라우저상에 디스플레이되는 HTML 변환 문서는 저작 소프트웨어 애플리케이션에 디스플레이되는 원 문서와 상당히 다르게 보여 질 수 있다. 또한 웹 브라우저는 아도브 플래시(ADOBE FLASH)와 마이크로소프트 실버라이트(MICROSOFT SILVERLIGHT)와 같은 추가 문서 포맷을 디스플레이할 수 있다.
웹 브라우저는 전형적으로 폰트 파일을 포함하지 않는다. 따라서 웹 브라우저는 주어진 문서를 디스플레이하기에 앞서 하나 이상의 폰트 파일을 얻을 필요가 있을 수 있다. 그러나 이들 폰트 파일은 라틴어의 폰트 파일처럼 클 수 있고, 심지어 특히 동아시아 언어의 폰트 파일처럼 상당히 클 수 있다. 웹 브라우저는 문서를 디스플레이하기 전에 필수 폰트 파일이 다운로드될 때까지 기다려야하므로, 큰 폰트의 다운로드는 문서 로딩 시간에 부정적인 영향을 줄 수 있다. 증가된 다운로드 시간은 주문형 문서 보기를 원하는 사용자를 상당히 불만스럽게 만들 수 있다.
이것은 여기의 개시물이 제시되는 이들 고려사항 및 기타에 관한 것이다.
웹상의 문서를 보기 위해 개선된 폰트 처리를 제공하는 기술을 설명한다. 문서를 디스플레이하기 위하여 큰 폰트 파일을 웹 브라우저 또는 다른 적당한 문서 뷰어(document viewer)로 전송하는 종래 접근방안과 달리, 여기에 기술된 실시예는 서버가 문서 뷰어로 전송하는 폰트 데이터량을 감소시킨다. 폰트 데이터량은 로컬 폰트 파일, 공통 폰트 서브셋, 그리고 문서당 폰트 서브셋(per document font subset)을 통해 감소될 수 있다.
로컬 폰트 파일은 문서 뷰어를 실행하는 컴퓨터에 이미 제공되어 있는 폰트 파일이다. 문서 뷰어가 로컬 폰트 파일만으로 문서를 디스플레이할 수 있다면, 서버는 추가 폰트 데이터를 웹 브라우저로 전송할 필요가 없다. 공통 폰트 서브셋은 가장 일반적으로 사용되는 폰트와 문자를 포함한 폰트 파일이다. 공통 폰트 서브셋은 다수의 파일을 위해 사용될 수 있는 감소된 크기의 파일이다. 또한 공통 폰트 서브셋은 문서 뷰어의 캐시에 저장될 수 있다. 이런 식으로, 공통 폰트 서브셋은 서버가 공통 폰트 서브셋을 재전송할 필요없이 다수의 문서를 디스플레이하는데 사용될 수 있다. 문서당 폰트 서브셋은 문서가 공통 폰트 서브셋에 포함되지 않은 폰트를 포함할 때에 생성되어 문서 뷰어로 제공되는 문서 특정 폰트 파일이다. 공통 폰트 서브셋에 포함되지 않은 폰트가 문서당 폰트 서브셋에 포함될 수 있다.
일 실시예에 따라서, 클라이언트 컴퓨터에서 동작하는 문서 뷰어에 폰트 파일을 제공하기 위한 방법을 여기에 제공한다. 문서에 대응한 렌더링된 문서(rendered document)에 대한 요청을 수신한다. 저장장치로부터 문서를 검색한다. 문서를 렌더링된 문서로 변환한다. 렌더링된 문서와 관련된 하나 이상의 서버 폰트 파일을 생성한다. 렌더링된 문서와 서버 폰트 파일을 저장한다.
또한 전술한 주제는 컴퓨터 제어 장치, 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 컴퓨터 판독가능 매체와 같은 제조물품으로 구현될 수 있다는 것을 알아야 한다. 상기 및 다른 다양한 특징들은 후속되는 상세한 설명의 판독과 관련 도면의 검토를 통해 명백해질 것이다.
이 개요는 간단한 형태로 개념 선택을 소개하기 위한 것으로, 상세한 설명에서 더 후술된다. 이 개요는 청구되는 주제의 주요 특징 또는 핵심적인 특징을 확인하거나, 또한 청구되는 주제의 범주를 제한하기 위해 이 개요를 사용하는 것이 아니다. 더욱이, 청구되는 주제는 본 개시물의 임의 부분에 기록되는 임의 또는 모든 단점을 해결하는 구현으로 제한되지 않는다.
도 1은 실시예에 따라서 웹을 통해 문서를 렌더링 및 디스플레이하기 위해 동작하는 예시적 시스템 구조를 도시하는 블록도.
도 2는 실시예에 따라서 웹상에서 문서를 보기 위해 개선된 폰트 처리를 제공하는 예시적 프로세서를 도시하는 흐름도.
도 3은 실시예에 따라서 도 1의 렌더링 모듈의 도시된 동작을 보여주는 흐름도.
도 4는 실시예에 따라서 도 1의 웹 브라우저의 예시적 동작을 도시하는 흐름도.
도 5는 여기에 제시되는 실시예를 구현할 수 있는 컴퓨팅 시스템의 예시적 컴퓨터 하드웨어 구조를 도시하는 컴퓨터 구조도.
다음의 상세한 설명은 웹상에서 문서를 보기 위해 개선된 폰트 처리를 제공하는 기술에 관한 것이다. 여기에 제시된 기술 및 개념을 사용하면, 종래 웹 문서 보기 시나리오의 경우와 같이 전체 폰트 파일 및 패키지를 다운로드할 필요가 없어 문서 로딩 시간을 줄일 수 있다. 특히 여기에 기술된 실시예는 로컬 폰트 파일, 공통 폰트 서브셋, 그리고 문서당 폰트 서브셋을 사용하여 문서 로딩 시간을 줄일 수 있다.
여기에 기술된 실시예는 주로 웹 브라우저에 대한 문서 로딩 시간을 개선시키는 것에 관한 것이지만 이로 제한되지는 않는다. 그러나 여기에 기술된 실시예는 네트워크를 통해 전송되는 문서를 로딩 및 디스플레이할 수 있는 적당한 임의 문서 뷰어에 적용될 수 있다는 것을 알아야 한다. 이러한 문서 뷰어의 다른 예는 PDF(Portable Document Format) 판독기이다.
여기에 기술된 주제는 프로그램 모듈이 컴퓨터 시스템상에서 운영체제와 애플리케이션 프로그램의 실행과 함께 실행되는 일반적 상황으로 제시되지만, 당업자는 다른 구현이 다른 유형의 프로그램 모듈과 함께 수행될 수 있다는 것을 알 것이다. 통상, 프로그램 모듈은 루틴, 프로그램, 구성요소, 데이터 구조, 그리고 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 다른 유형의 구조를 포함한다. 또한 당업자는 여기에 기술된 주제가 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서기반 또는 프로그래밍가능 가전제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함한 다른 컴퓨터 시스템으로써 실행될 수 있다는 것을 알 것이다.
다음 상세한 설명에서, 부분을 형성하며 실례로서 도시된 첨부 도면, 특정 실시예 또는 예를 참조한다. 이제, 동일 참조번호가 몇몇 도면을 통해 동일 요소를 나타내는 도면을 참조하여, 웹상의 문서를 보기 위해 개선된 폰트 처리를 제공하는 개념 및 기술을 설명할 것이다. 특히 도 1은 웹을 통해 문서를 렌더링 및 디스플레이하도록 동작하는 시스템 구조(100)를 도시하는 블록도이다. 구조(100)는 전단 서버(102), 후단 서버(104), 저장장치(106), 그리고 클라이언트 컴퓨터(108)를 포함한다. 전단 서버(102)는 인터넷과 같은 네트워크(110)를 통해 클라이언트 컴퓨터(108)와 통신할 수 있다.
실시예에 따라서, 전단 서버(102)는 웹 브라우저(114)로부터의 문서 요청을 수신하도록 동작하는 문서 관리자(112)를 포함한다. 예를 들면 문서 관리자(112)는 문서(116A) 또는 문서(116A)의 일부에 대한 요청을 수신할 수 있다. 문서(116A)는 워드 프로세싱 문서, 스프레드시트, 프리젠테이션, 또는 다른 유형의 문서일 수 있다. 문서 요청은 HTTP(Hypertext Transfer Protocol) 메시지일 수 있다.
웹 브라우저(114)로부터의 문서 요청을 수신시에, 문서 관리자(112)는 요청 문서(116A)의 렌더링된 표현을 렌더링 모듈(rendering module)(118)로부터 요청할 수 있다. 도 1에 도시된 바와 같이, 문서(116A)의 렌더링 표현은 렌더링된 문서(116B)이고, 대응하는 문서(116A)의 완벽 충실도(full-fidelity) 표현이다. 완벽 충실도 표현은 원래 표현에서 발견되는 특징과 동일한 특징(예를 들면 레이아웃, 해상도, 콘텐츠 등)을 포함한다. 따라서 사용자는 문서를 웹 브라우저(114)와 같은 웹 브라우저를 통해 또는 생산성 애플리케이션 프로그램을 통해 보든지 간에 주어진 문서를 볼 시에 동일한 경험을 기대할 수 있다. 완벽 충실도 표현은 예를 들어 레이아웃을 변경할 수 있거나 또는 해상도 및 콘텐츠를 감소시킬 수 있는 하위 충실도 표현과 대조될 수 있다.
문서(116A)의 렌더링 표현에 대한 요청을 수신시에, 렌더링 모듈(118)은 저장장치(106)로부터 문서(116A)를 검색한다. 그 후, 렌러딩 모듈(118)은 문서(116A)를 텍스트, 이미지 및 다른 멀티미디어를 포함한 렌러딩 문서(116B)로 렌더링한다. 렌더링 모듈(118)은 그 후에 렌더링된 문서(116B)를 문서 관리자(112)로 전송하고, 렌더링된 문서(116B)를 저장장치(106)에 저장한다. 이런 방식으로, 문서 관리자(112)는 렌더링 모듈(118)를 액세스하기보다는 저장장치(116)로부터 렌더링된 문서(116B)를 검색함으로써 문서(116A)의 렌더링 표현에 대한 후속 요청을 이행할 수 있다.
실시예에 따라서, 렌더링 모듈(118)은 필요한 대로 문서당 폰트 서브셋(122)과 같은 서버 생성 폰트 파일을 생성한다. 렌더링 모듈(118)은 저장장치(106)에 문서당 폰트 서브셋(122)을 저장할 수 있다. 서버 생성 폰트 파일에 추가하여, 후단 서버(104)는 공통 폰트 서브셋(120)과 같은 사전생성된 폰트 파일을 포함할 수 있다. 실시예에 따라서, 공통 폰트 서브셋(120)은 문서당 폰트 서브셋(122)과 같이 실행시간 대신에 제작시간(build time)에 생성될 수 있다. 서버 생성 폰트 파일과 사전생성된 폰트 파일은 집합적으로 서버 폰트 파일로서 여기에서 참조될 수 있다. 도 1의 예에 도시된 바와 같이, 후단 서버(104)는 또한 로컬 폰트 리스트(124)를 유지할 수 있다. 공통 폰트 서브셋(120), 문서당 폰트 서브셋(122) 및 로컬 폰트 리스트(124)의 생성, 내용 및 적용은 도 2 내지 도 4를 참조하여 보다 상세히 후술된다.
렌더링된 문서(116B)와 서버 생성 폰트 파일이 생성되어 저장장치(106)에 저장된 후에, 문서 관리자(112)는 렌더링된 문서(116B)를 디스플레이하도록 동작하는 웹 브라우저(114)로 이 렌더링된 문서(116B)를 제공할 수 있다. 문서(116A)에 대한 초기 요청을 수신시에, 문서 관리자(112)는 렌더링 모듈(118)에 의해 생성되는 렌더링된 문서(116B)를 웹 브라우저(114)로 전송할 수 있다. 또한 렌더링된 문서(116B)는 저장장치(106)에 저장된다. 따라서 문서(116A)의 렌더링된 표현에 대한 후속된 요청을 수신시에, 문서 관리자(112)는 후단 서버(104)상의 렌더링 모듈(118)을 액세스할 필요없이 저장장치(106)로부터 렌더링된 문서(116B)를 검색할 수 있다.
웹 브라우저(114)가 렌더링된 문서(116B)에 사용되는 폰트를 디스플레이하기 위하여, 문서 관리자(112)는 웹 브라우저(114)로 서버 폰트 파일을 더 제공할 수 있다. 또한 웹 브라우저(114)는 문서 관리자(112)로부터 필요한 대로 서버 폰트 파일을 요청할 수 있다. 소정 실시예에서, 웹 브라우저(114)는 렌더링된 문서(116B)를 디스플레이하기 위해 문서 관리자(112)에 의해 제공되는 서버 폰트 파일을 사용할 수 있다. 다른 실시예에서, 웹 브라우저(114)는 렌더링된 문서(116B)를 디스플레이하기 위해 로컬 폰트 파일(126)과 같은 로컬 폰트 파일을 사용할 수 있다. 로컬 폰트 파일(126)의 생성, 내용 및 적용은 도 2 내지 도 4를 참조하여 보다 더 상세히 기술된다.
이제 도 2 내지 도 4를 참조하면, 웹상에서 문서를 보기 위해 개선된 폰트 처리를 제공하기 위해 여기에서 제시되는 실시예에 관하여 부가적인 상세사항을 제공할 것이다. 특히 도 2는 웹상에서 문서를 보기 위해 개선된 폰트 처리를 제공하는 예시적 처리를 도시하는 흐름도이다. 도 3은 렌더링 모듈(118)의 도시된 동작을 보여주는 흐름도이다. 도 4는 웹 브라우저(114)의 예시적 동작을 보여주는 흐름도이다.
여기에 기술된 논리적 동작은 (1) 컴퓨팅 시스템상에 실행되는 일련의 컴퓨터 구현 액트(acts) 또는 프로그램 모듈로서 구현되고, 그리고/또는 (2) 컴퓨팅 시스템내에 상호연결된 머신 논리회로 또는 회로 모듈로서 구현된다. 구현은 컴퓨팅 시스템의 성능 및 다른 요건에 따른 선택 문제이다. 따라서 여기에 기술된 논리 동작은 상태 동작, 구조적 장치, 액트 또는 모듈로서 다양하게 언급된다. 이들 동작, 구조적 장치, 액트 및 모듈은 소프트웨어, 펌웨어, 특용 디지털 논리부 및 이들의 임의 결합으로 구현될 수 있다. 도면에 도시되고 여기에 기술되는 것보다 더 많거나 또는 더 적은 동작을 수행할 수 있다는 것을 알아야 한다. 또한 이들 동작은 여기에 기술된 순서와 상이한 순서로 수행될 수 있다.
이제 도 2를 참조하면, 루틴(200)은 동작(202)에서 시작하는데, 여기서 문서 관리자(112)는 웹 브라우저(114)로부터 문서(116A)와 같은 문서에 대한 요청을 수신한다. 그 후, 루틴(200)은 동작(204)으로 진행되고, 여기서 문서 관리자(112)는 요청된 문서(116A)에 대응한 렌더링된 문서에 대한 요청을 전송한다. 이 경우, 렌더링된 문서(116B)는 문서(116A)에 대응한다. 일단 문서 관리자(112)가 렌더링된 문서(116B)에 대한 요청을 렌더링 모듈(118)로 전송하면, 루틴(200)은 동작(206)으로 진행된다.
동작(206)에서, 렌더링 모듈(118)은 문서 관리자(112)로부터 렌더링된 문서(116B)에 대한 요청을 수신한다. 그 후, 루틴(200)은 동작(208, 210)으로 진행되고, 여기서 렌더링된 문서(116B)에 대한 요청을 수신시에, 렌더링 모듈(118)은 저장장치(106)로부터 문서(116A)를 검색하고, 문서(116A)를 렌더링된 문서(116B)로 렌더링한다(즉 변환, 변형한다). 문서(116A)를 렌더링된 문서(116B)로 렌더링함으로써, 렌더링 모듈(118)은 문서(116A)에 포함된 텍스트, 이미지 및 다른 멀티미디어를 제 1 포맷으로부터 문서(116A)의 완벽 충실도 표현인 제 2 포맷으로 변환할 수 있다. 소정 실시예에서, 텍스트, 이미지 및/또는 다른 멀티미디어는 단일 문서의 일부일지라도 개별 파일에 저장될 수 있다.
예시적 예에서, 제 1 포맷은 워드 프로세싱 애플리케이션, 프리젠테이션 애플리케이션, 스프레드시트 애플리케이션 등과 같은 저작 소프트웨어 애플리케이션과 호환될 수 있다. 제 2 포맷은 웹 브라우저(114)와 호환될 수 있다. 웹 브라우저(114)와 호환가능한 포맷 예는 이미지 포맷(예를 들면 PNG(Portable Network Graphics), JPEG(Joint Photographics Experts Group) 등), 마이크로소프트 실버라이트(MICROSOFT SILVERLIGHT), 아도브 플래시(ADOBE FLASH) 등을 포함할 수 있다. 소정 실시예에 따라서, 렌더링된 문서(116B)에 포함된 텍스트는 XAML(Extensible Application Markup Language) 코드로 포맷될 수 있다. 또한 XAML 코드는 보다 상세히 후술되는 로컬 폰트 정보를 포함할 수 있다. 일단 렌더링 모듈(118)이 문서(116A)를 렌더링된 문서(116B)로 렌더링하면, 루틴(200)은 동작(212)으로 진행된다.
동작(212)에서, 렌더링 모듈(118)은 필요한 대로 문서당 폰트 서브셋(122)과 같은 서버 생성 폰트 파일을 생성한다. 문서당 폰트 서브셋(122)은 공통 폰트 서브셋(120)에서 발견되지 않는 최소 폰트 및 문자를 포함한 문서 특정적 폰트 파일이다. 공통 폰트 서브셋(120)은 가장 일반적으로 사용되는 폰트 및 문자를 포함한 폰트 파일이다. 공통 폰트 서브셋(120)은 문서 의존적이며, 다수의 문서를 통해 사용될 수 있다. 실시예에 따라서, 공통 폰트 서브셋(120)은 제작시간에 미리 생성되고, 반면에 문서당 폰트 서브셋(122)은 전체 렌더링된 문서(116B)를 분석함으로써 실행시간에 생성된다.
공통 폰트 서브셋(120)과 문서당 폰트 서브셋(122)에서, 임의 폰트 레이아웃 정보를 제거할 수 있고, 이로써 공통 폰트 서브셋과 문서당 폰트 서브셋(122)의 크기를 더 감소시킬 수 있다. 특히 종래 폰트 파일은 문자 위치, 각 문자의 크기, 문자들 간의 간격 등을 나타내는 레이아웃 정보를 포함한다. 구조(100)에서, 렌더링된 문서(116B)에 포함된 텍스트는 렌더링 처리의 특성으로 인하여 절대 위치로 위치된 텍스트이다. 텍스트가 렌더링된 문서(116B) 내에서 절대적 위치에 있으므로, 종래 폰트 파일에서의 레이아웃 정보는 필요 없게 된다. 일단 렌더링 모듈(118)이 필요한 대로 서버 생성 폴트 파일을 생성하면, 루틴(200)은 동작(214)으로 진행한다.
동작(214)에서, 렌더링 모듈(118)은 렌더링된 문서(116B)를 문서 관리자(112)에게로 전송한다. 그 후, 루틴(200)은 동작(216, 218)으로 진행한다. 동작(216)에서, 렌더링 모듈(118)은 렌더링된 문서(116B)와 임의 서버 생성 폰트 파일을 저장장치(106)에 저장한다. 이런 식으로, 문서 관리자(112)는 렌더링 모듈(118)을 액세스하기보다는 대응한 렌더링된 문서(116B)를 저장장치(106)로부터 검색함으로써 문서(116A)에 대한 추가 요청을 이행할 수 있다. 동작(218)에서, 문서 관리자(112)는 적어도 렌더링된 문서(116B)를 웹 브라우저(114)로 전송한다. 그러면, 웹 브라우저(114)는 렌더링된 문서(116B)를 디스플레이할 수 있다.
소정 실시예에서, 문서 관리자(112)는 또한 공통 폰트 서브셋(120)과 문서당 폰트 서브셋(122)과 같은 하나 이상의 서버 폰트 파일을 렌더링된 문서(116B)와 함께 웹 브라우저(114)로 전송한다. 다른 실시예에서, 문서 관리자(112)는 웹 브라우저(114)로부터의 요청에 응답하여 하나 이상의 서버 폰트 파일을 웹 브라우저(114)로 전송할 수 있다.
이제 도 3을 참조하면, 실시예에 따라서 렌더링 모듈(118)의 동작에 관한 추가 상세사항을 기술할 것이다. 특히 루틴(300)은 렌더링 모듈(118)의 예시적 동작을 보여주며, 여기서 렌더링 모듈(118)은 문서(116A)를 점차적으로 렌더링한다(즉 개별 페이지 또는 슬라이드(slide)에 의해 렌더링한다). 도 3에 도시된 바와 같이, 루틴(300)은 동작(302)에서 시작하고, 여기서 렌더링 모듈(118)은 문서(116A)의 다음 페이지 또는 슬라이드를, 렌더링된 문서(116B)의 대응 페이지 또는 슬라이드로 렌더링한다. 렌더링된 문서(116B)의 이 대응 페이지 또는 슬라이드는 렌더링 페이지 또는 슬라이드로서 여기서 언급될 수 있다. 렌더링 모듈(118)은 문서(116A)에서 첫 페이지 또는 슬라이드 상에서 렌더링 처리를 시작할 수 있다. 그러나 렌더링 모듈(118)은 또한 다른 적당한 순서로 페이지 또는 슬라이드를 횡단할 수 있다. 일단 렌더링 모듈(118)이 문서(116A)의 페이지 또는 슬라이드를 렌더링 페이지 또는 슬라이드로 렌더링하였다면, 루틴(300)은 동작(304)으로 진행된다.
동작(304)에서, 렌더링 모듈(118)은 렌더링 페이지 또는 슬라이드에 사용되는 폰트가 로컬 폰트 리스트(124)상에 포함되어 있는 지의 여부를 결정한다. 실시예에 따라서, 로컬 폰트 리스트(124)는 클라이언트 컴퓨터(108)상에 있을 것으로 예상되거나 또는 여기에 있을 수 있는 로컬 폰트 리스트를 포함한다. 예를 들면 로컬 폰트 리스트(124)는 적어도 타임스뉴로만(Times New Roman) 폰트와 아리알(Arial) 폰트뿐만 아니라 글자 A 내지 Z, 숫자 0 내지 9를 포함할 수 있다. 로컬 폰트 리스트(124)는 동일 폰트의 상이한 버전을 수용하기 위한 문자 범위를 더 포함할 수 있다(예를 들면 일 운영체제상의 Arial 폰트는 다른 운영체제상에 Arial 폰트와 다를 수 있다). 이들 로컬 폰트는 클라이언트 컴퓨터(108)상에 설치된 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 프리젠테이션 애플리케이션 등과 같은 저작 소프트웨어 애플리케이션에 포함될 수 있다. 로컬 폰트 리스트(124)는 클라이언트 컴퓨터(108)상에 설치된 소프트웨어 애플리케이션을 확인함으로써, 확인된 소프트웨어 애플리케이션에 전형적으로 포함된 폰트로써 로컬 폰트 리스트(124)를 채움으로써 결정될 수 있다. 웹 브라우저 및 다른 소프트웨어 애플리케이션이 문서를 요청시에 실행시간에 앞서 미리 로컬 폰트 리스트(124)를 생성할 수 있다는 것을 알아야 한다.
렌더링 모듈(118)이 렌더링 페이지 또는 슬라이드에 사용된 폰트가 로컬 폰트 리스트(124)상에 포함되어 있다고 결정하면, 루틴(300)은 동작(305)으로 진행되고, 여기서 렌더링 모듈(118)은 로컬 폰트 리스트(124)에 포함된 정보와 같은 로컬 폰트 정보를 렌더링 페이지 또는 슬라이드에 삽입한다. 예를 들어 로컬 폰트 정보는 XAML 코드로 삽입될 수 있다. 그 후, 루틴은 동작(306)으로 진행된다. 렌더링 모듈(118)이 렌더링 페이지 또는 슬라이드에 사용되는 폰트가 로컬 폰트 리스트(124)에 포함되지 않았다고 결정하면, 루틴(300)은 또한 동작(306)으로 진행된다.
동작(306)에서, 렌더링 모듈(118)은 렌더링 페이지 또는 슬라이드에 사용되는 폰트가 공통 폰트 서브셋(120)에 포함되어 있는지의 여부를 결정한다. 전술한 바와 같이, 공통 폰트 서브셋(120)은 가장 일반적으로 사용되는 폰트 및 문자를 포함한 폰트 파일이다. 이들 일반적으로 사용되는 폰트와 문자는 문서에 걸쳐 최고의 빈도로 나타나는 폰트 및 문자를 결정하기 위해 기존 문서를 분석함으로써 결정될 수 있다. 예를 들면 공통 폰트 서브셋(120)은 글자 A 내지 Z와 숫자 0 내지 9뿐만 아니라 적어도 타임스뉴로만(Times New Roman)과 아리알(Arial) 폰트를 포함할 수 있다. 공통 폰트 서브셋(120)은 동일 폰트의 상이한 버전을 수용하기 위한 문자 문자 범위를 더 포함할 수 있다. 일반적으로 사용되는 폰트 및 문자를 결정하기 위한 다른 적당한 기법이 유사하게 사용될 수 있다.
렌더링 모듈(118)이 렌더링 페이지 또는 슬라이드에 사용되는 폰트가 공통 폰트 서브셋(120)에 포함되지 않았다고(즉 이로부터 빠져 있다고) 결정한다면, 루틴(300)은 동작(307)으로 진행되고, 여기서 렌더링 모듈(118)은 문서당 폰트 정보를 수집하고, 이 정보는 차후에 문서당 폰트 서브셋(122)을 생성하기 위해 렌더링 모듈(118)에 의해 사용된다. 예를 들면 렌더링 모듈(118)은 웹 브라우저(114)가 렌더링된 문서(116B)를 디스플레이하는데 필요한 폰트를 결정하기 위하여 전체 렌더링된 문서(116B)(즉 렌더링된 문서 116B의 모든 페이지 또는 슬라이드)를 분석할 수 있다. 이들 폰트는 문서당 폰트 정보에 포함될 수 있다. 일단 렌더링 모듈(118)이 문서당 폰트 정보를 수집하면, 루틴(300)은 동작(312)으로 진행된다. 또한 렌더링 모듈(118)이 렌더링 페이지 또는 슬라이드에 사용되는 폰트가 공통 폰트 서브셋(120)에 포함되어 있다고 결정하면, 루틴(300)은 또한 동작(312)로 진행된다.
동작(312)에서, 렌더링 모듈(118)은 렌더링 페이지 또는 슬라이드를 생성하고, 이는 차후에 문서 관리자(112)로 전송될 수 있다. 그 후에, 문서 관리자(112)는 디스플레이를 위해 웹 브라우저(114)로 렌더링된 페이지 또는 슬라이드를 제공할 수 있다. 이 때, 문서 관리자(112)는 또한 렌더링 페이지 또는 슬라이드와 함께 공통 폰트 서브셋(120)을 웹 브라우저(114)로 제공할 수 있다. 이 대신에, 문서 관리자(112)는 웹 브라우저(114)로부터의 요청 수신에 응답하여 웹 브라우저(114)로 공통 폰트 서브셋(120)을 전송할 수 있다. 예를 들면 공통 폰트 서브셋(120)이 웹 브라우저의 캐시에 저장되어 있지 않다면, 웹 브라우저(114)는 문서 관리자(112)로 공통 폰트 서브셋(120)에 대한 요청을 전송할 수 있다.
일단 렌더링 모듈(118)이 렌더링 페이지 또는 슬라이드를 생성하였다면, 루틴(300)은 동작(314)으로 진행되고, 여기서 렌더링 모듈(118)은 렌더링된 문서(116B)의 대응 페이지 또는 슬라이드로 렌더링하기 위한 문서(116A)의 추가적인 임의 페이지 또는 슬라이드가 있는 지의 여부를 결정한다. 렌더링 모듈(118)이 렌더링할 문서(116A)의 추가 페이지 또는 슬라이드가 있다고 결정하면, 루틴(300)은 동작(302)으로 진행되고, 여기서 렌더링 모듈(118)은 문서(116A)의 다음 페이지 또는 슬라이드를 렌더링한다. 그 후, 루틴(300)은 전술한 바와 같이 계속된다. 렌더링 모듈(118)이 렌러딩할 문서(116A)의 추가 페이지 또는 슬라이드가 없다고 결정하면, 루틴(300)은 동작(316)으로 진행된다.
동작(316)에서, 렌더링 모듈(118)은 동작(307)에서 수집했던 문서당 폰트 정보를 기반으로 문서당 폰트 서브셋(122)을 생성한다. 특히, 문서당 폰트 서브셋(122)은 렌더링된 문서(116B)를 디스플레이하기 위해 웹 브라우저(114)에 필요한 이들 폰트를 적어도 포함할 수 있다. 따라서 문서당 폰트 서브셋(122)은 렌더링된 문서(116B)에 특정적인 폰트를 포함할 수 있다. 문서당 폰트 서브셋(122)은 공통 폰트 서브셋(120)과 로컬 폰트 파일(126)에 포함된 폰트를 포함할 수도 있거나, 혹은 포함하지 않을 수도 있다. 문서당 폰트 서브셋(122)은 루틴(300)내에서 다른 다양한 지점에서 발생될 수 있다는 것을 알아야 한다. 일단 렌더링 모듈(118)이 문서당 폰트 서브셋(122)을 생성하면, 루틴(300)은 동작(318)으로 진행된다.
동작(318)에서, 렌더링 모듈(118)은 렌더링 페이지 또는 슬라이드를 문서 관리자(112)에게로 전송한다. 그 후, 문서 관리자(112)는 디스플레이를 위해 렌더링된 문서(116B)를 웹 브라우저(114)로 제공할 수 있다. 이 경우, 웹 브라우저(114)는 렌더링된 문서(116B)를 디스플레이하기 위해 로컬 폰트 파일(126)과 같은 로컬 폰트 파일을 사용하려고 시도할 수 있다. 예를 들면 웹 브라우저(114)는 렌더링 페이지 또는 슬라이드로 삽입되었던 로컬 폰트 정보에 의해 명시되는 바와 같이 로컬 폰트 파일을 사용하려고 할 수 있다. 웹 브라우저(114)가 렌더링된 문서(116B)를 디스플레이하기 위해 로컬 폰트 파일을 사용할 수 없다면, 루틴(300)은 동작(320)으로 진행되고, 여기서 문서 관리자(112)는 웹 브라우저(114)로부터 문서당 폰트 서브셋(122)에 대한 요청을 수신할 수 있다. 문서당 폰트 서브셋(122)에 대한 요청을 수신시에, 루틴(300)은 동작(322)으로 진행되고, 여기서 문서 관리자(112)는 렌더링된 문서(116B)를 디스플레이하기 위하여 문서당 폰트 서브셋(122)을 웹 브라우저(114)로 전송한다.
실시예에 따라서, 로컬 폰트 파일(126)과 같은 로컬 폰트 파일을 사용할 수 없다면, 문서당 폰트 서브셋(122) 또는 공통 폰트 서브셋(120)이 웹 브라우저(114)로 전송될 수 있다. 예를 들면 클라이언트 컴퓨터(108)는 렌더링된 문서(116B)를 디스플레이하는데 로컬 폰트 파일을 사용할 수 있는지의 여부를 결정하도록 동작하는 (도시되지 않은) 클라이언트측 처리를 실행할 수 있다. 클라이언트측 처리가 렌더링된 문서(116B)를 디스플레이하는데 로컬 폰트 파일(126)을 사용할 수 없다고 결정하면, 웹 브라우저(114)는 문서당 폰트 서브셋(122) 또는 공통 폰트 서브셋(120)에 대한 추가 요청을 문서 관리자(122)에게로 전송할 수 있다. 웹 브라우저(114)로부터 문서당 폰트 서브셋(122) 또는 공통 폰트 서브셋(120)에 대한 요청 수신에 응답하여, 문서 관리자(112)는 문서당 폰트 서브셋(122) 또는 공통 폰트 서브셋(120)을 웹 브라우저(114)로 전송할 수 있다. 이 경우, 웹 브라우저(114)는 렌더링된 문서(116B)를 디스플레이하는데 문서당 폰트 서브셋(122) 또는 공통 폰트 서브셋(120)을 사용할 수 있다.
이제 도 4를 참조하면, 실시예에 따라 웹 브라우저(114)의 동작에 관한 추가 상세사항을 기술할 것이다. 특히 루틴(400)은 렌더링된 문서(116B)의 적어도 일부를 수신시에 웹 브라우저(114)의 예시적 동작을 도시한다. 도 4에 도시된 바와 같이, 루틴(400)은 동작(402)에서 시작하고, 여기서 웹 브라우저(114)는 문서 관리자(112)로부터 렌더링된 문서(116B)의 적어도 일부를 수신한다. 특히 웹 브라우저(114)는 전체 렌더링된 문서(116B), 또는 렌더링된 문서(116B)의 특정 페이지 또는 슬라이드를 수신할 수 있다. 일단 웹 브라우저(114)가 문서(116B)를 수신하면, 루틴(400)은 동작(404)으로 진행된다.
동작(404)에서, 웹 브라우저(114)는 로컬 폰트 파일(126)과 같은 로컬 폰트 파일이 렌더링된 문서(116B)를 그의 완벽 충실도로 디스플레이하는데 필요한 폰트를 포함하는 지의 여부를 결정한다. 로컬 폰트 파일(126)뿐만 아니라 공통 폰트 서브셋(120)과 문서당 폰트 서브셋(122)에 대한 검색 및 사용을 위해 웹 브라우저(114)를 가이드하는 인스트럭션이 렌더링된 문서(116B)의 XAML 코드에 포함될 수 있다. 로컬 폰트 파일(126)은 클라이언트 컴퓨터(108)에 설치된 저작 소프트웨어 애플케이션의 일부일 수 있다. 웹 브라우저가 로컬 폰트 파일(126)이 렌더링된 문서(116B)를 그의 완벽 충실도로 디스플레이하는데 필요한 폰트를 포함한다고 결정하면, 루틴(400)은 동작(412)으로 진행되고, 여기서 웹 브라우저(114)는 로컬 폰트 파일(126)을 사용하여 렌더링된 문서(116B)를 디스플레이한다.
웹 브라우저(114)가 로컬 폰트 파일(126)이 렌더링된 문서(116B)를 그의 완벽 충실도로 디스플레이하는데 필요한 폰트를 포함하지 않는다고 결정하면, 루틴(400)은 동작(406)으로 진행되고, 여기서 웹 브라우저(114)는 공통 폰트 서브셋(120)과 문서당 폰트 서브셋(122)과 같은 하나 이상의 적절한 서버 폰트 파일에 대한 요청을 문서 관리자(112)에게로 전송한다. 그러면, 문서 관리자(112)는 적절한 서버 폰트 파일을 검색하여, 이 서버 폰트 파일을 웹 브라우저(114)로 전송할 수 있다. 일단 웹 브라우저(114)가 적절한 서버 폰트 파일에 대한 요청을 문서 관리자(112)에게로 전송하면, 루틴(400)은 동작(408)으로 진행된다. 동작(408)에서, 웹 브라우저(114)는 문서 관리자(112)로부터 적절한 서버 폰트 파일을 수신한다. 그 후, 루틴(400)은 동작(410)으로 진행되고, 여기서 웹 브라우저(114)는 서버 폰트 파일을 사용하여 렌더링된 문서(116B)를 디스플레이한다.
이제 도 5를 참조하면, 컴퓨터(500)를 보여주는 모범적 컴퓨터 구조도를 도시한다. 컴퓨터(500)는 처리 유닛(502)("CPU"), 시스템 메모리(504), 그리고 메모리(504)를 CPU(502)로 연결하는 시스템 버스(506)를 포함한다. 컴퓨터(500)는 렌더링 모듈(118)과 같은 하나 이상의 프로그램 모듈(514), 그리고 저장 장치(106)와 같은 하나 이상의 데이터베이스(516)를 저장하기 위한 대용량 저장장치(512)를 더 포함한다. 다른 프로그램 모듈(514)은 웹 브라우저(114)와 문서 관리자(112)를 포함할 수 있다. 대용량 저장장치(512)는 버스(506)에 연결된 (도시되지 않은) 대용량 저장 제어기를 통해 CPU(502)로 연결된다. 대용량 저장장치(512)와 그의 관련 컴퓨터 판독가능 매체는 컴퓨터(500)에 비휘발성 저장소를 제공한다. 여기에 포함된 컴퓨터 판독가능 매체의 설명이 하드 디스크 또는 CD-ROM 드라이브와 같은 대용량 저장장치를 언급하였지만, 당업자는 컴퓨터 판독가능 매체가 컴퓨터(500)에 의해 액세스될 수 있는 사용가능한 임의 컴퓨터 저장 매체일 수 있다는 것을 알아야 한다.
제한이 아닌 예를 들면, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 인스트럭션, 데이터 인스트럭션, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 착탈가능 및 비착탈가능 매체를 포함할 수 있다. 예를 들면 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 고체상태 메모리 기술, CD-ROM, DVD(digital versatile disks), HD-DVD, BLU-RAY 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장장치, 혹은 원하는 정보를 저장하는데 사용가능하며 컴퓨터(500)로 액세스가능한 임의 다른 매체를 포함하는데, 다만 이로 제한되지는 않는다.
다양한 실시예에 따라서, 컴퓨터(500)는 네트워크(110)와 같은 네트워크를 통해 원격 컴퓨터로의 논리적 연결을 사용한 네트워크 환경에서 작동할 수 있다. 컴퓨터(500)는 버스(506)에 연결된 네트워크 인터페이스 유닛(510)을 통해 네트워크(110)로 연결될 수 있다. 네트워크 인터페이스 유닛(510)은 또한 다른 유형의 네트워크 및 원격 컴퓨터 시스템으로의 연결에 사용될 수 있다는 것을 알아야 한다. 또한 컴퓨터(500)는 키보드, 마우스, 마이크로폰 및 게임 제어기를 포함한 (도시되지 않은) 다수의 입력장치로부터의 입력을 수신 및 처리하기 위해 입력/출력 제어기(508)를 포함할 수 있다. 유사하게, 입력/출력 제어기(508)는 (도시되지 않은) 디스플레이 또는 다른 유형의 출력장치로의 출력을 제공할 수 있다.
전술한 내용을 바탕으로, 웹상에서 문서를 보기 위해 개선된 폰트 처리를 제공하는 기술을 여기에 제시한다는 것을 알아야 한다. 여기에 제시된 주제가 컴퓨터 구조적 특징, 방법론적 액트 및 컴퓨터 판독가능 매체에 특정적인 언어로 기술되었지만, 첨부된 청구범위에 정의된 본 발명은 여기에 기술된 특정한 특징, 액트 또는 매체로 반드시 제한되는 것은 아니라는 것을 알 것이다. 오히려 특정한 특징, 액트 및 매체는 청구범위를 구현하는 예의 형태로서 개시된다.
전술한 주제는 단지 실례로서 제공되며 제한으로 구성되어서는 안된다. 도시 및 기술된 후속된 예인 실시예와 애플리케이션 없이도, 그리고 후속된 청구범위에 설명된 본 발명의 사상 및 범주를 벗어나지 않고서도 여기에 기술된 주제에 다양한 변형 및 변경을 행할 수 있다.

Claims (15)

  1. 클라이언트 컴퓨터상에서 동작하는 문서 뷰어(document viewer)에 폰트 파일(font files)을 제공하는 컴퓨터 구현 방법으로서,
    제1 파일 포맷의 문서에 대응하는 제2 파일 포맷의 렌더링된 문서(rendered document)에 대한 요청을 수신하는 단계와,
    저장장치로부터 상기 문서를 검색하는 단계와,
    상기 제1 파일 포맷의 문서를 상기 제2 파일 포맷의 상기 렌더링된 문서로 변환하는 단계와,
    상기 렌더링된 문서를 디스플레이하기 위해 하나 이상의 서버 폰트 파일을 생성하는 단계 - 상기 렌더링된 문서는 상기 제1 파일 포맷의 문서와 동일한 레이아웃 및 동일한 해상도를 갖고 상기 렌더링된 문서 내의 절대 위치에 위치한(absolutely positioned) 텍스트를 포함하며, 상기 서버 폰트 파일은 복수의 문서에 걸쳐 가장 일반적으로 사용되는 폰트와 문자를 가진 폰트 파일을 포함하는 공통 폰트 서브셋 및 상기 공통 폰트 서브셋에서 빠진 폰트를 가진 폰트 파일을 포함하는 문서당 폰트 서브셋(per document font subset)을 포함함 - 와,
    문자의 위치, 문자의 크기 및 문자간 간격을 포함하는 폰트 레이아웃 정보를 상기 공통 폰트 서브셋 및 상기 문서당 폰트 서브셋으로부터 제거함으로써 상기 하나 이상의 서버 폰트 파일을 업데이트하는 단계와,
    상기 렌더링된 문서와 상기 업데이트된 하나 이상의 서버 폰트 파일을 저장하는 단계
    를 포함하는 컴퓨터 구현방법.
  2. 제 1 항에 있어서,
    상기 방법은 상기 렌더링된 문서와 상기 서버 폰트 파일을 상기 문서 뷰어로 전송하는 단계를 더 포함하고,
    상기 문서 뷰어는 상기 서버 폰트 파일을 사용하여 상기 렌더링된 문서를 디스플레이하도록 동작하는
    컴퓨터 구현방법.
  3. 제 1 항에 있어서,
    상기 제2 파일 포맷의 상기 렌더링된 문서는 상기 제1 파일 포맷의 문서의 표현에서 발견되는 특징과 동일한 특징을 포함하는 완벽 충실도(full-fidelity) 표현을 포함하는
    컴퓨터 구현방법.
  4. 제 1 항에 있어서,
    상기 문서를 상기 렌더링된 문서로 변환하는 단계는,
    상기 문서의 페이지(page) 또는 슬라이드(slide)를 상기 렌더링된 문서의 페이지 또는 슬라이드로 변환하는 단계와,
    디스플레이를 위해 상기 렌더링된 문서를 상기 문서 뷰어로 제공하는 단계와,
    디스플레이를 위해 상기 렌더링된 문서를 상기 문서 뷰어로 제공시에, 상기 문서의 다음 페이지 또는 슬라이드를 상기 렌더링된 문서의 다음 페이지 또는 슬라이드로 변환하는 단계
    를 포함하는 컴퓨터 구현방법.
  5. 제 1 항에 있어서,
    상기 렌더링된 문서에 사용되는 폰트가 로컬 폰트 리스트에 포함되어 있는 지의 여부를 판정하는 단계 - 상기 로컬 폰트 리스트는 상기 클라이언트 컴퓨터에 저장될 것으로 예상되는 폰트 파일 리스트를 포함함 - 와,
    상기 렌더링된 문서에 사용되는 폰트가 상기 로컬 폰트 리스트에 포함되어 있다는 판정에 응답하여, 상기 로컬 폰트 리스트에 포함된 로컬 폰트 정보를 상기 렌더링된 문서에 삽입하는 단계
    를 더 포함하는 컴퓨터 구현방법.
  6. 제 5 항에 있어서,
    상기 렌더링된 문서에 사용되는 폰트가 상기 공통 폰트 서브셋에 포함되어 있는지의 여부를 판정하는 단계를 더 포함하는
    컴퓨터 구현방법.
  7. 제 6 항에 있어서,
    상기 렌더링된 문서에 사용되는 폰트가 상기 공통 폰트 서브셋에 포함되어 있지 않다는 판정에 응답하여, 상기 문서당 폰트 서브셋을 생성하는 단계를 더 포함하는
    컴퓨터 구현방법.
  8. 컴퓨터 시스템으로서,
    프로세서와,
    상기 프로세서에 동작가능하게 연결된 메모리와,
    프로그램 모듈
    을 포함하되,
    상기 프로그램 모듈은 (i) 상기 메모리로부터 상기 프로세서에서 실행되며, (ii) 상기 프로세서에 의해 실행될 시에,
    문서 뷰어로부터 제1 파일 포맷의 문서에 대응하는 제2 파일 포맷의 렌더링된 문서에 대한 요청을 수신하고,
    저장장치에서 상기 문서를 검색하고,
    상기 제1 파일 포맷의 문서를 상기 제2 파일 포맷의 상기 렌더링된 문서로 변환 - 상기 렌더링된 문서는 상기 문서 뷰어를 통해 상기 문서의 완벽 충실도(full-fidelity) 표현을 제공하도록 구성되고, 상기 문서의 완벽 충실도 표현은 상기 제1 파일 포맷의 문서와 동일한 레이아웃 및 동일한 해상도를 가지며 상기 문서의 완벽 충실도 표현 내에 절대적 위치에 위치한 텍스트를 포함함 - 하고,
    상기 렌더링된 문서를 상기 저장장치에 저장하고,
    상기 렌더링된 문서에 사용되는 폰트가 로컬 폰트 리스트에 포함되어 있는지의 여부를 판정하고,
    상기 렌더링된 문서에 사용되는 폰트가 상기 로컬 폰트 리스트에 포함되어 있다는 판정에 응답하여, 상기 로컬 폰트 리스트에 포함된 로컬 폰트 정보를 상기 렌더링된 문서에 삽입하고,
    상기 로컬 폰트 리스트에 포함된 상기 로컬 폰트 정보를 상기 렌더링된 문서에 삽입시에, 상기 렌더링된 문서를 상기 문서 뷰어로 전송 - 상기 문서 뷰어는 상기 렌더링된 문서를 하나 이상의 로컬 폰트 파일을 사용하여 클라이언트 컴퓨터상에 디스플레이함 - 하고,
    상기 렌더링된 문서에 사용되는 폰트가 공통 폰트 서브셋에 포함되어 있는지의 여부를 판정 - 상기 공통 폰트 서브셋은 복수의 문서에 걸쳐 가장 일반적으로 사용되는 폰트와 문자를 가진 폰트 파일을 포함함 - 하고,
    상기 렌더링된 문서에 사용되는 폰트가 상기 공통 폰트 서브셋에 포함되어 있지 않은지 여부를 판정하고, 상기 공통 폰트 서브셋에 포함되지 않은 폰트를 포함하는 문서당 폰트 서브셋을 생성하고,
    문자의 위치, 문자의 크기 및 문자간 간격을 포함하는 폰트 레이아웃 정보를 상기 공통 폰트 서브셋과 상기 문서당 폰트 서브셋에서 삭제함으로써 상기 공통 폰트 서브셋과 상기 문서당 폰트 서브셋을 업데이트하고,
    상기 렌더링된 문서에 사용되는 폰트가 상기 공통 폰트 서브셋에 포함되어 있다는 판정에 응답하여, 상기 클라이언트 컴퓨터가 상기 업데이트된 공통 폰트 서브셋 및 상기 업데이트된 문서당 폰트 서브셋을 포함하는지 여부를 판정
    함으로써, 상기 컴퓨터 시스템으로 하여금 상기 클라이언트 컴퓨터에서 동작 중인 상기 문서 뷰어에 폰트 파일을 제공하게 하는
    컴퓨터 시스템.
  9. 제 8 항에 있어서,
    상기 프로그램 모듈은 또한 상기 프로세서에 의해 실행될 시에,
    상기 클라이언트 컴퓨터가 상기 업데이트된 공통 폰트 서브셋을 포함한다는 판정에 응답하여, 상기 렌더링된 문서를 상기 문서 뷰어로 전송 - 상기 문서 뷰어는 상기 업데이트된 상기 공통 폰트 서브셋을 사용하여 상기 렌더링된 문서를 디스플레이하도록 동작함 - 하고,
    상기 클라이언트 컴퓨터가 상기 공통 폰트 서브셋을 포함하지 않는다는 판정에 응답하여, 상기 렌더링된 문서와 상기 업데이트된 문서당 폰트 서브셋을 상기 문서 뷰어로 전송 - 상기 문서 뷰어는 상기 렌더링된 문서를 상기 업데이트된 문서당 폰트 서브셋을 사용하여 디스플레이하도록 동작함 -
    함으로써, 또한 상기 컴퓨터 시스템으로 하여금 상기 클라이언트 컴퓨터상에서 동작 중인 상기 문서 뷰어로 폰트 파일을 제공하게 하는
    컴퓨터 시스템.
  10. 제 9 항에 있어서,
    상기 프로그램 모듈은 또한 상기 프로세서에 의해 실행될 시에,
    상기 렌더링된 문서를 상기 문서 뷰어에 전송하며,
    상기 문서 뷰어로부터 상기 업데이트된 문서당 폰트 서브셋에 대한 요청을 수신하고,
    상기 업데이트된 문서당 폰트 서브셋에 대한 요청 수신에 응답하여, 상기 문서당 폰트 서브셋을 상기 문서 뷰어로 전송 - 상기 문서 뷰어는 상기 렌더링된 문서를 상기 업데이트된 문서당 폰트 서브셋을 사용하여 디스플레이하도록 동작함 -
    함으로써, 또한 상기 컴퓨터 시스템으로 하여금 상기 클라이언트 컴퓨터상에서 동작 중인 상기 문서 뷰어로 폰트 파일을 제공하게 하는
    컴퓨터 시스템.
  11. 제8항에 있어서,
    상기 렌더링된 문서에 포함된 텍스트는 XAML(Extensible Application Markup Language)로 포맷되는
    컴퓨터 시스템.
  12. 제8항에 있어서,
    상기 문서 뷰어는 로컬 폰트 파일을 검색하고 사용하며 추가 폰트 파일을 상기 저장장치에서 검색할지 여부를 판정하도록 동작하는
    컴퓨터 시스템.
  13. 제8항에 있어서,
    상기 문서를 상기 렌더링된 문서로 변환하는 것은,
    상기 문서의 페이지 또는 슬라이드를 상기 렌더링된 문서의 페이지 또는 슬라이드로 변환하고,
    디스플레이를 위해 상기 렌더링된 문서의 상기 페이지 또는 슬라이드를 상기 문서 뷰어로 제공하고,
    디스플레이를 위해 상기 렌더링된 문서의 상기 페이지 또는 슬라이드를 상기 문서 뷰어로 제공시에, 상기 문서의 다음 페이지 또는 슬라이드를 상기 렌더링된 문서의 다음 페이지 또는 슬라이드로 변환하는
    것을 포함하는
    컴퓨터 시스템.
  14. 컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 저장 매체는 광학 디스크, 자기 저장장치 및 솔리드 스테이트 저장장치 중 하나이고,
    상기 컴퓨터 실행가능 명령어는 컴퓨터에 의해 실행되는 경우에 상기 컴퓨터로 하여금,
    (a) 클라이언트 컴퓨터에서 실행되는 웹 브라이저로부터 문서에 대응하는 렌더링된 문서에 대한 요청을 수신하고,
    (b) 상기 문서를 저장장치에서 검색하고,
    (c) 상기 문서의 다음 페이지 또는 슬라이드를 상기 렌더링된 문서의 렌더링된 페이지 또는 슬라이드로 변환 - 상기 렌더링된 문서는 제1 파일 형식의 문서와 동일한 레이아웃 및 동일한 해상도를 가지며 상기 렌더링된 문서 내의 절대 위치에 위치한 텍스트를 포함함 - 하고,
    (d) 상기 렌더링된 문서의 렌더링된 페이지 또는 슬라이드에 사용되는 폰트가 로컬 폰트 리스트에 포함되는지 여부를 판정하고,
    (e) 상기 폰트가 상기 렌더링된 페이지 또는 슬라이드에 사용되는 폰트가 상기 로컬 폰트 리스트에 포함된다는 판정에 응답하여, 상기 로컬 폰트 리스트에 포함되는 로컬 폰트 정보를 상기 렌더링된 페이지 또는 슬라이드에 삽입하고,
    (f) 상기 로컬 폰트 리스트에 포함된 상기 로컬 폰트 정보를 상기 렌더링된 페이지 또는 슬라이드에 삽입할 시에, 상기 렌더링된 페이지 또는 슬라이드를 상기 웹 브라우저에 전송 - 상기 웹 브라우저는 상기 렌더링된 페이지 또는 슬라이드를 하나 이상의 로컬 폰트 파일을 사용하여 상기 클라이언트 컴퓨터 상에서 디스플레이하도록 동작함 - 하고,
    (g) 상기 렌더링된 페이지 또는 슬라이드에서 사용되는 폰트가 공통 폰트 서브셋에 포함되는지 여부를 판정 - 상기 공통 폰트 서브셋은 복수의 문서에 걸쳐 가장 일반적으로 사용되는 폰트와 문자를 포함하는 폰트 파일을 포함함 - 하고, 상기 렌더링된 페이지 또는 슬라이드에 사용되는 폰트가 상기 공통 폰트 서브셋에 포함되어 있지 않은지 판정하고, 상기 공통 폰트 서브셋에 포함되어 있지 않은 폰트를 포함하는 문서당 폰트 서브셋을 생성하고,
    (h) 문자의 위치, 문자의 크기 및 문자간 간격을 포함하는 폰트 레이아웃 정보를 상기 공통 폰트 서브셋과 상기 문서당 폰트 서브셋에서 삭제함으로써 상기 공통 폰트 서브셋과 상기 문서당 폰트 서브셋을 업데이트하고,
    (i) 상기 렌더링된 페이지 또는 슬라이드에 사용되는 폰트가 상기 공통 폰트 서브셋에 포함되어 있다는 판정에 응답하여, 상기 클라이언트 컴퓨터가 상기 업데이트된 공통 폰트 서브셋 및 상기 업데이트된 문서당 폰트 서브셋을 포함하는지 여부를 판정하고,
    (j) 상기 클라이언트 컴퓨터가 상기 공통 폰트 서브셋을 포함한다는 판정에 응답하여, 상기 렌더링된 페이지 또는 슬라이드를 상기 웹 브라우저로 전송 - 상기 웹 브라우저는 상기 렌더링된 페이지 또는 슬라이드를 상기 클라이언트 컴퓨터에 저장된 상기 공통 폰트 서브셋을 사용하여 디스플레이하도록 동작함 - 하고,
    (k) 상기 클라이언트 컴퓨터가 상기 공통 폰트 서브셋을 포함하지 않는다는 판정에 응답하여, 상기 렌더링된 페이지 또는 슬라이드 및 상기 공통 폰트 서브셋을 상기 웹 브라우저로 전송 - 상기 웹 브라우저는 상기 렌더링된 페이지 또는 슬라이드를 상기 공통 폰트 서브셋을 사용하여 디스플레이하도록 동작함 - 하고,
    (l) 상기 문서가 상기 렌더링된 문서로 렌더링될 때까지 (c) 내지 (k) 동작을 반복하게 하는
    컴퓨터 판독가능 저장 매체.
  15. 제14항에 있어서,
    상기 컴퓨터 실행가능 명령어는 또한 컴퓨터에 의해 실행되는 경우에 상기 컴퓨터로 하여금,
    상기 렌더링된 문서를 상기 웹 브라우저로 전송하고,
    상기 웹 브라우저로부터 상기 업데이트된 문서당 폰트 서브셋에 대한 요청을 수신하고,
    상기 업데이트된 문서당 폰트 서브셋에 대한 요청 수신에 응답하여, 상기 업데이트된 문서당 폰트 서브셋을 상기 웹 브라우저로 전송 - 상기 웹 브라우저는 상기 렌더링된 문서를 상기 업데이트된 문서당 폰트 서브셋을 사용하여 디스플레이하도록 동작함 - 하게 하는
    컴퓨터 판독가능 저장 매체.
KR1020117019369A 2009-02-20 2010-01-22 웹상의 문서보기를 위해 폰트를 제공하는 컴퓨터 구현방법 및 시스템과 컴퓨터 판독가능 매체 KR101608112B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/389,389 US8856647B2 (en) 2009-02-20 2009-02-20 Font handling for viewing documents on the web
US12/389,389 2009-02-20

Publications (2)

Publication Number Publication Date
KR20110132332A KR20110132332A (ko) 2011-12-07
KR101608112B1 true KR101608112B1 (ko) 2016-03-31

Family

ID=42631981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117019369A KR101608112B1 (ko) 2009-02-20 2010-01-22 웹상의 문서보기를 위해 폰트를 제공하는 컴퓨터 구현방법 및 시스템과 컴퓨터 판독가능 매체

Country Status (17)

Country Link
US (1) US8856647B2 (ko)
EP (1) EP2399234B1 (ko)
JP (1) JP5911304B2 (ko)
KR (1) KR101608112B1 (ko)
CN (1) CN102326179B (ko)
AU (1) AU2010216343B2 (ko)
BR (1) BRPI1007169A2 (ko)
CA (1) CA2749296A1 (ko)
CL (1) CL2011002019A1 (ko)
IL (1) IL213813A0 (ko)
IN (1) IN2011CN05355A (ko)
MX (1) MX2011008445A (ko)
RU (1) RU2011134909A (ko)
SG (2) SG10201400110YA (ko)
TW (1) TWI477985B (ko)
WO (1) WO2010096237A2 (ko)
ZA (1) ZA201104787B (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810355B1 (en) 2001-07-16 2020-10-20 Clantech, Inc. Allowing operating system access to non-standard fonts in a network document
US8522127B2 (en) 2001-07-16 2013-08-27 Robert G. Adamson, III Allowing operating system access to non-standard fonts in a network document
US8856647B2 (en) 2009-02-20 2014-10-07 Microsoft Corporation Font handling for viewing documents on the web
US8769050B2 (en) * 2009-10-16 2014-07-01 Celartern, Inc. Serving font files in varying formats based on user agent type
US8438648B2 (en) * 2010-02-16 2013-05-07 Celartem, Inc. Preventing unauthorized font linking
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
US9164968B2 (en) * 2011-07-26 2015-10-20 Google Inc. Techniques for server-side determination of font subsets
US20130215126A1 (en) * 2012-02-17 2013-08-22 Monotype Imaging Inc. Managing Font Distribution
KR101456231B1 (ko) * 2012-05-31 2014-10-31 (주)한양정보통신 폰트 표시 장치 및 방법, 그리고 폰트 표시 장치를 포함하는 웹 폰트 시스템
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
CN103077238B (zh) * 2013-01-09 2017-04-05 百度在线网络技术(北京)有限公司 电子文档的提供方法、系统、母书服务器及子书客户端
WO2014110206A2 (en) 2013-01-09 2014-07-17 Monotype Imaging Inc. Advanced text editor
KR101400213B1 (ko) * 2013-01-21 2014-05-28 (주)한양정보통신 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템
US9619439B1 (en) * 2013-02-26 2017-04-11 Google Inc. Incremental web font loading
WO2014157887A1 (en) * 2013-03-25 2014-10-02 Samsung Electronics Co., Ltd. Display apparatus and method of outputting text thereof
JP6157210B2 (ja) * 2013-05-15 2017-07-05 キヤノン株式会社 文書変換装置、文書変換方法、及びプログラム
CN103425631A (zh) * 2013-07-19 2013-12-04 百度在线网络技术(北京)有限公司 用于获取文档文件中目标文字的字体文件的方法及装置
US9317777B2 (en) 2013-10-04 2016-04-19 Monotype Imaging Inc. Analyzing font similarity for presentation
JP5974024B2 (ja) * 2014-01-18 2016-08-23 株式会社モリサワ フォント配信システム、及びフォント配信方法
US10055386B2 (en) 2014-04-18 2018-08-21 Emc Corporation Using server side font preparation to achieve WYSIWYG and cross platform fidelity on web based word processor
US9691169B2 (en) 2014-05-29 2017-06-27 Monotype Imaging Inc. Compact font hinting
TW201608384A (zh) 2014-08-29 2016-03-01 萬國商業機器公司 遠端提供電子文件字型的電腦實施方法
US20160182606A1 (en) * 2014-12-17 2016-06-23 Monotype Imaging Inc. Network Based Static Font Subset Management
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
CN106547804B (zh) * 2015-09-23 2019-10-25 北京国双科技有限公司 silverlight地图的中文名称显示方法及装置
US10095529B2 (en) 2016-06-07 2018-10-09 Microsoft Technology Licensing, Llc Font download on application boot
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
US11113450B2 (en) 2018-10-26 2021-09-07 International Business Machines Corporation Cognitive font enrichment management for adding system fonts
KR102218355B1 (ko) * 2019-01-11 2021-02-22 주식회사 윤디자인그룹 입력되는 글자에 따른 폰트 관리 수행 방법
KR102218356B1 (ko) * 2019-01-11 2021-02-22 주식회사 윤디자인그룹 입력되는 글자에 따른 폰트 관리 수행 방법
JP7490472B2 (ja) * 2020-07-06 2024-05-27 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528742A (en) 1993-04-09 1996-06-18 Microsoft Corporation Method and system for processing documents with embedded fonts
US5533174A (en) * 1993-10-26 1996-07-02 Digital Equipment Corporation Network font server
US5781714A (en) 1994-05-27 1998-07-14 Bitstream Inc. Apparatus and methods for creating and using portable fonts
JPH096566A (ja) 1995-06-20 1997-01-10 Nippon Joho Kagaku Kk フォント使用方法、およびフォントデータ付きドキュメントの作成方法、並びにフォントデータ付きドキュメント
EP0870246B1 (en) * 1995-09-25 2007-06-06 Adobe Systems Incorporated Optimum access to electronic documents
US6320587B1 (en) * 1996-08-26 2001-11-20 Fujitsu Limited Font processing apparatus in network environment and method thereof
US6857102B1 (en) 1998-04-07 2005-02-15 Fuji Xerox Co., Ltd. Document re-authoring systems and methods for providing device-independent access to the world wide web
JP2001117844A (ja) 1999-10-20 2001-04-27 Nec Corp 無線通信システム及びそれに用いる無線クライアントの表示言語切替方法
US7155672B1 (en) 2000-05-23 2006-12-26 Spyglass, Inc. Method and system for dynamic font subsetting
CA2323569A1 (en) 2000-10-18 2002-04-18 Advanced Numerical Methods Ltd. Elastic presentation space
JP2002207723A (ja) 2001-01-10 2002-07-26 Dainippon Printing Co Ltd 拡張文字の処理方法
US6889202B2 (en) 2001-03-23 2005-05-03 Hewlett-Packard Development Company, L.P. Internet print device font distribution method and web site
JP2005501310A (ja) 2001-05-02 2005-01-13 ビットストリーム インコーポレーティッド スケーリング方法及び/又は特定方向で情報媒体を表示する方法及びシステム
US7219309B2 (en) 2001-05-02 2007-05-15 Bitstream Inc. Innovations for the display of web pages
US7228501B2 (en) 2002-11-01 2007-06-05 Microsoft Corporation Method for selecting a font
JP2004252005A (ja) 2003-02-18 2004-09-09 Morisawa:Kk データ提供装置、データ提供方法及びコンピュータプログラム
US7379733B2 (en) * 2003-06-25 2008-05-27 Oracle International Corporation Mobile meeting and collaboration
US7609398B2 (en) * 2003-09-30 2009-10-27 Toshiba Corporation System and method for rendering fonts for tabbed paper stock on a network
JP4534501B2 (ja) 2004-01-30 2010-09-01 株式会社日立製作所 映像再生装置および記録媒体
US8689101B2 (en) * 2004-02-27 2014-04-01 Blackberry Limited Font data processing system and method
US7549118B2 (en) 2004-04-30 2009-06-16 Microsoft Corporation Methods and systems for defining documents with selectable and/or sequenceable parts
US8661332B2 (en) * 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
JP2005327150A (ja) 2004-05-17 2005-11-24 Dainippon Printing Co Ltd 情報配信システムおよび情報配信方法
JP2005332088A (ja) * 2004-05-18 2005-12-02 Canon Inc 文書生成装置およびファイル変換システム
US7710422B2 (en) 2004-07-26 2010-05-04 Microsoft Corporation Font representations
US7478325B2 (en) * 2005-04-22 2009-01-13 Microsoft Corporation Methods for providing an accurate visual rendition of a text element formatted with an unavailable font
JP2007011733A (ja) 2005-06-30 2007-01-18 Dynacomware Taiwan Inc アジアウェブフォント文書の作成方法、装置及びシステム
US8040533B2 (en) 2006-01-06 2011-10-18 Microsoft Corporation Techniques for granular font subsetting for efficient document consumption
US9015578B2 (en) * 2006-01-24 2015-04-21 Microsoft Technology Licensing, Llc Dynamic optimization of available display space
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
US7995576B2 (en) * 2006-07-31 2011-08-09 Cisco Technology, Inc. Method and system for reducing latency in a multi-channel multicast streaming environment in content-delivery networks
JP5140997B2 (ja) * 2006-11-15 2013-02-13 富士通株式会社 プログラム、文字入力編集方法及び装置
US8856647B2 (en) 2009-02-20 2014-10-07 Microsoft Corporation Font handling for viewing documents on the web

Also Published As

Publication number Publication date
MX2011008445A (es) 2011-09-06
WO2010096237A3 (en) 2010-10-28
TWI477985B (zh) 2015-03-21
CN102326179A (zh) 2012-01-18
WO2010096237A2 (en) 2010-08-26
SG10201400110YA (en) 2014-05-29
ZA201104787B (en) 2012-09-26
KR20110132332A (ko) 2011-12-07
AU2010216343A1 (en) 2011-07-21
EP2399234A2 (en) 2011-12-28
EP2399234B1 (en) 2018-10-24
CA2749296A1 (en) 2010-08-26
AU2010216343B2 (en) 2014-06-19
US20100218086A1 (en) 2010-08-26
JP5911304B2 (ja) 2016-04-27
RU2011134909A (ru) 2013-03-10
CL2011002019A1 (es) 2012-01-20
TW201033824A (en) 2010-09-16
SG172838A1 (en) 2011-08-29
BRPI1007169A2 (pt) 2016-02-23
JP2012518836A (ja) 2012-08-16
IN2011CN05355A (ko) 2015-08-21
US8856647B2 (en) 2014-10-07
IL213813A0 (en) 2011-07-31
EP2399234A4 (en) 2018-01-10
CN102326179B (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
KR101608112B1 (ko) 웹상의 문서보기를 위해 폰트를 제공하는 컴퓨터 구현방법 및 시스템과 컴퓨터 판독가능 매체
US8756489B2 (en) Method and system for dynamic assembly of form fragments
US9489385B1 (en) Exact look and feel for sharepoint archived content
US9317622B1 (en) Methods and systems for fragmenting and recombining content structured language data content to reduce latency of processing and rendering operations
US7844898B2 (en) Exporting a document in multiple formats
US20100325539A1 (en) Web based spell check
US20140136497A1 (en) System And Method To Compare And Merge Documents
JP2006114012A (ja) 電子文書への最適アクセス
US10366051B2 (en) Method and system for file conversion
US11157678B2 (en) Scalable content rendering
EP3234803A1 (en) Network based static font subset management
US8862976B1 (en) Methods and systems for diagnosing document formatting errors
US8156428B1 (en) Method and apparatus for merging digital content
US8578268B2 (en) Rendering electronic documents having linked textboxes
US20130031460A1 (en) Using a common input/output format to generate a page of an electronic document
CN116541120B (zh) 一种网页渲染方式的识别方法、系统及计算机设备
US8037136B2 (en) Tracking a state of a document accessible over a computer network
US10445625B2 (en) Metadata tagging mechanism

Legal Events

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

Payment date: 20190227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 5