KR101400213B1 - 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템 - Google Patents

서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템 Download PDF

Info

Publication number
KR101400213B1
KR101400213B1 KR1020130006495A KR20130006495A KR101400213B1 KR 101400213 B1 KR101400213 B1 KR 101400213B1 KR 1020130006495 A KR1020130006495 A KR 1020130006495A KR 20130006495 A KR20130006495 A KR 20130006495A KR 101400213 B1 KR101400213 B1 KR 101400213B1
Authority
KR
South Korea
Prior art keywords
web
font
subset
web page
server
Prior art date
Application number
KR1020130006495A
Other languages
English (en)
Other versions
KR20130126459A (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 (주)한양정보통신
Priority to KR1020130006495A priority Critical patent/KR101400213B1/ko
Publication of KR20130126459A publication Critical patent/KR20130126459A/ko
Application granted granted Critical
Publication of KR101400213B1 publication Critical patent/KR101400213B1/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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템이 제공된다. 본 발명의 일실시예에 따른 웹 폰트 서버는, 서브셋 폰트를 적용하기 위해 등록된 웹 페이지에 대응하는 제1 서브셋 폰트를 생성하는 서브셋 폰트 생성부와, 상기 등록된 웹 페이지에 관련된 문서 정보 및 상기 제1 서브셋 폰트를 저장하는 데이터베이스부와, 웹 클라이언트로부터 수신된 상기 웹 클라이언트가 접근하는 웹 페이지에 관련된 문서 정보와 상기 데이터베이스부에 저장된 상기 등록된 웹 페이지에 관련된 문서 정보를 비교하는 정보 비교부 및 상기 웹 클라이언트로 서브셋 폰트를 전송하는 서브셋 폰트 전송부를 구비하고, 상기 서브셋 폰트 생성부는, 상기 비교 결과에 따라 상기 웹 클라이언트가 접근하는 웹 페이지에 대응하는 제2 서브셋 폰트를 선택적으로 생성하는 것을 특징으로 한다.

Description

서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템{Web Font Server and System Providing Subset Font}
본 발명은 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템에 관한 것으로서, 자세하게는 효율적인 서브셋 폰트의 생성 및 전송이 가능한 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템에 관한 것이다.
웹 문서나 문서 프로그램 등에서 글자를 표현하기 위한 다양한 종류의 폰트들이 제공되고 있다. 종래에는 기본적으로 제공되는 여러 개의 폰트들 중 어느 하나를 사용자가 선택함에 따라 선택된 폰트에 해당하는 글꼴로서 글자 전체를 표시하는 방법이 일반적이었다.
그러나, 폰트의 경우 수만 글자의 문자 세트를 가지고 있으며, 각 문자들의 데이터 양도 많이서 그 폰트의 용량이 수 메가바이트에 이른다. 이에 따라, 웹 페이지에서 사용한 글자들만 간추려서 수백 키로바이트로 줄인 서브셋 폰트가 이용되고 있다.
그러나, 이 서브셋 폰트 또한 서로 다른 웹페이지들마다 별도로 만들어서 중복하여 전송하고 저장하기 때문에, 방대한 전송량에 따르는 대역폭의 문제가, 그 서브셋 폰트들을 저장하는 공간이 증가하는 문제가 발생한다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 서브셋 폰트 생성 및 전송의 효율성을 향상할 수 있는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일실시예에 따른 웹 폰트 서버는, 서브셋 폰트를 적용하기 위해 등록된 웹 페이지에 대응하는 제1 서브셋 폰트를 생성하는 서브셋 폰트 생성부와, 상기 등록된 웹 페이지에 관련된 문서 정보 및 상기 제1 서브셋 폰트를 저장하는 데이터베이스부와, 웹 클라이언트로부터 수신된 상기 웹 클라이언트가 접근하는 웹 페이지에 관련된 문서 정보와 상기 데이터베이스부에 저장된 상기 등록된 웹 페이지에 관련된 문서 정보를 비교하는 정보 비교부 및 상기 웹 클라이언트로 서브셋 폰트를 전송하는 서브셋 폰트 전송부를 구비하고, 상기 서브셋 폰트 생성부는, 상기 비교 결과에 따라 상기 웹 클라이언트가 접근하는 웹 페이지에 대응하는 제2 서브셋 폰트를 선택적으로 생성하는 것을 특징으로 한다.
상기한 바와 같은 본 발명의 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템에 따르면, 웹 페이지 접근시마다 서브셋 폰트를 생성하는 동작을 생략할 수 있으므로 자원을 효율적으로 이용할 수 있으며, 또한 서브셋 폰트의 전송량을 줄임으로써 방대한 전송량에 따른 대역폭의 문제를 개선할 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 웹 폰트 시스템의 일구현예를 나타내는 블록도이다.
도 2a는 도 1의 웹 폰트 서버의 기능의 일예를 나타내기 위한 블록도이다.
도 2b는 도 1의 웹 폰트 시스템의 변형된 동작의 일예를 나타내는 블록도이다.
도 3은 도 1의 웹 폰트 서버의 일 구현예를 나타내는 블록도이다.
도 4는 본 발명의 일실시예에 따른 웹 폰트 시스템의 동작방법의 일예를 나타내는 플로우차트이다.
도 5는 본 발명의 다른 실시예에 따른 웹 폰트 시스템의 동작방법의 일예를 나타내는 플로우차트이다.
도 6, 7은 본 발명의 다른 실시예에 따른 웹 폰트 시스템의 일구현예를 나타내는 블록도이다.
도 8은 도 6 및 도 7에 도시된 웹 폰트 시스템의 동작의 일예를 나타내는 플로우차트이다.
도 9는 본 발명의 또 다른 실시예에 따른 웹 폰트 시스템의 일구현예를 나타내는 블록도이다.
도 10은 도 9에 도시된 웹 폰트 시스템의 동작방법의 일예를 나타내는 플로우차트이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 웹 폰트 시스템의 일구현예를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 상기 웹 폰트 시스템(100)은 웹 폰트 서버(1000), 웹 서버(2000) 및 웹 클라이언트(3000)를 포함할 수 있다.
웹 폰트 서버(1000)는 글자를 표시하기 위한 폰트를 생성 및 제공하는 서버로서, 본 발명의 실시예에서 웹 폰트 서버(1000)는 웹 페이지에 포함된 글자들을 간추려서 그 폰트의 용량을 줄인 서브셋 폰트를 제공한다. 웹 서버(2000)는 클라이언트에게 웹 페이지를 제공하는 서비스를 제공하며, 웹 서버(2000)에서 제공하는 웹 페이지에 관련된 문서 정보가 웹 폰트 서버(1000)로 제공된다. 상기 문서 정보는 웹 페이지에 관련하여 다수의 정보를 포함하며, 일예로서 웹 페이지의 아이디(ID), 웹 페이지의 생성 시각, 웹 페이지에 적용된 폰트, 적용된 글자 리스트 등의 정보들을 포함할 수 있다.
웹 폰트 서버(1000)는 웹 폰트(또는, 웹 서브셋 폰트)를 적용할 웹 페이지를 등록하고, 또한 상기 웹 페이지에 관련된 문서 정보를 이용하여 서브셋 폰트를 생성한다. 또한, 상기 문서 정보를 데이터베이스화하여 저장하여 이후 추가의 서브셋 폰트를 생성하는 데 이용한다.
한편, 웹 클라이언트(3000)는 웹 서버(2000)에 접속하여 웹 페이지의 전송을 요청하고, 웹 서버(2000)는 상기 요청에 응답하여 해당 웹 페이지를 웹 클라이언트(3000)로 전송한다. 또한, 웹 클라이언트(3000)는 수신된 웹 페이지의 문서 정보 중 적어도 하나의 정보를 웹 폰트 서버(1000)로 제공하며, 웹 폰트 서버(1000)는 웹 클라이언트(3000)로부터 제공된 문서 정보와 서버 내에 등록된 문서 정보를 분석하여 추가의 서브셋 폰트의 생성 필요성을 판단하고, 추가 생성된 서브셋 폰트를 웹 클라이언트(3000)로 제공한다. 웹 클라이언트(3000)는 수신된 웹 페이지를 출력함에 있어서, 기 저장된 서브셋 폰트 및/또는 웹 폰트 서버(1000)로부터 제공된 서브셋 폰트를 이용하여 해당 웹 페이지를 출력한다.
웹 클라이언트(3000)로부터 제공되는 문서 정보는, 해당 웹 페이지의 아이디 및 웹 페이지의 생성 시각에 관련된 시각 정보를 포함할 수 있다. 웹 폰트 서버(1000)는 상기 정보를 이용하여 웹 클라이언트(3000)가 출력하고자 하는 웹 페이지가 어떠한 것인지를 확인할 수 있으며, 또한 상기 웹 페이지의 생성 시각을 참조하여 해당 웹 페이지를 출력하기 위한 서브셋 폰트가 기 생성되어 저장되었는지, 또는 웹 페이지 내의 글자가 변동됨에 따라 서브셋 폰트를 추가 생성해야 되는지를 판단한다. 서브셋 폰트가 기 저장된 경우 추가의 폰트 생성 동작 없이 저장된 서브셋 폰트를 웹 클라이언트(3000)로 전송할 수 있으며, 또는 추가 서브셋 폰트를 생성할 필요가 있는 경우, 웹 페이지 출력에 필요한 글자들을 이용하여 생성된 서브셋 폰트를 웹 클라이언트(3000)로 전송할 수 있다.
웹 서버(2000)는 다수의 웹 페이지들을 제공하며, 상기 다수의 웹 페이지에 관련된 문서 정보가 웹 폰트 서버(1000)에 등록될 수 있다. 상기 다수의 웹 페이지들은 서로 다른 글자를 포함할 수 있으며, 다수의 웹 페이지들은 웹 페이지 아이디 정보에 근거하여 구분될 수 있으며, 각각의 웹 페이지의 생성 시각에 관련된 정보가 저장된다. 또한 각각의 웹 페이지에 포함된 글자들을 이용한 서브셋 폰트들이 별도로 생성되어 저장될 수 있다.
웹 클라이언트(3000)로부터의 문서 정보들(예컨대, 웹 페이지 아이디 및 시각 정보)을 이용하여, 웹 클라이언트(3000)가 출력을 원하는 웹 페이지를 출력하기 위한 서브셋 폰트의 기 저장여부를 판단하고, 그 판단 결과에 따라 기 저장된 서브셋 폰트를 웹 클라이언트(3000)로 전송하거나, 새로 적용된 글자 리스트를 이용한 서브셋 폰트를 생성하여 이를 웹 클라이언트(3000)로 전송한다. 새로운 웹 페이지에 포함된 글자 리스트는, 웹 서버(2000)로부터 새로운 웹 페이지에 포함된 글자 리스트가 웹 폰트 서버(1000)로 제공될 수 있으나, 본 발명의 실시예는 이에 국한될 필요 없이 웹 클라이언트(3000)로부터 웹 폰트 서버(1000)로 제공될 수도 있다. 또한, 추가 서브셋 폰트 생성과 함께 새로운 웹 페이지에 관련된 생성 시각 등의 정보가 업데이트될 수 있다.
상기와 같은 본 발명의 실시예에 따른 웹 폰트 시스템(100)은, 웹 클라이언트(3000)로부터 문자열 검색 등의 처리를 수행할 필요가 없으며, 또한 그 검색 결과를 웹 폰트 서버(1000)로 제공할 필요가 없으므로 정보의 업로드 양을 감소할 수 있다. 또한, 웹 폰트 서버(1000)는 웹 클라이언트(3000)의 웹 페이지 수신마다 서브셋 폰트를 생성할 필요가 없으므로 그 생성에 따른 자원 낭비를 방지할 수 있다.
도 2a는 도 1의 웹 폰트 서버(1000)의 기능의 일예를 나타내기 위한 블록도이다. 도 2a에 도시된 바와 같이, 웹 폰트 서버(1000)는 웹 페이지(3100) 내의 자바스크립트와 메타 태그(meta tag)를 이용하여 웹 폰트 생성에 필요한 정보를 수집하고, 수집된 정보에 기반하여 서브셋 폰트를 생성한다. 웹 페이지(3100) 내의 CSS는 글자를 표현하기 위한 폰트의 선택 및 크기를 결정하기 위한 구성이며, 웹 페이지(3100) 내의 텍스트(TEXT)는 웹 페이지에 포함된 글자 리스트를 나타낸다. 유저 웹브라우저(3200)는 웹 페이지(3100)를 수신하고, 웹 페이지(3100) 내에 포함된 자바스크립트 및 CSS를 이용하여 웹 페이지를 출력하며, 웹 폰트 서버(1000)로부터 제공되는 서브셋 폰트를 이용하여 텍스트를 표현한다.
웹 폰트 서버(1000)는 서브셋 폰트 생성을 위하여 정보 분석 기능을 수행하며, 일예로서 유저 웹브라우저(3200)로부터 제공되는 문서 정보를 참조하여 추가 서브셋 폰트의 생성 필요성을 판단한다. 또한, 웹 폰트 서버(1000)는 서브셋 폰트 엔진 기능을 수행하여 웹 페이지 출력을 위한 서브셋 폰트를 생성한다. 일예로서, 웹 페이지(3100)의 텍스트 정보를 이용하여 서브셋 폰트를 생성하여 이를 저장하고, 유저 웹브라우저(3200)로부터의 문서 정보에 근거하여 기 저장된 서브셋 폰트를 유저 웹브라우저(3200)로 제공하거나, 새로 서브셋 폰트를 생성하여 이를 유저 웹브라우저(3200)로 제공한다. 또한, 데이터베이스에는 웹 페이지에 관련되어 생성 시각 정보를 포함하는 각종 정보가 저장되고, 유저 웹브라우저(3200)로부터의 문서 정보와 데이터베이스에 저장된 정보들이 서로 비교된다. 그 비교 결과에 따라 서브셋 폰트의 생성이 결정될 수 있다.
도 2b는 도 1의 웹 폰트 시스템의 변형된 동작의 일예를 나타내는 블록도이다.
도 2b의 경우 도 1에 비하여 서브셋 폰트의 생성 및 전송 순서를 변형한 예를 나타낸다. 도 2b에 도시된 바와 같이, 웹 클라이언트(3000)는 웹 서버(2000)로 웹 페이지 요청을 전송한다. 이에 응답하여 웹 서버(2000)는 웹 클라이언트(3000)로 웹 페이지를 전송한다.
웹 서버(2000)는 웹 페이지를 전송함과 함께, 서브셋 폰트 생성 요청을 웹 폰트 서버(1000)로 전송한다. 서브셋 폰트 생성 요청은 웹 페이지의 전송과 실질적으로 동일한 시기, 또는 웹 페이지의 전송 직후 전송될 수 있다. 웹 서버(2000)는 전송된 웹 페이지에 관련된 정보(문서 ID, 시각정보나 글자 정보 등)를 웹 폰트 서버(1000)로 제공할 수 있다.
웹 폰트 서버(1000)는 웹 서버(2000)로부터의 요청에 응답하여 서브셋 폰트를 생성한다. 예컨대, 웹 폰트 서버(1000)로부터의 정보를 참조하여, 해당 웹 페이지에 대한 서브셋 폰트가 이미 생성되어 저장된 경우에는, 추가의 서브셋 폰트의 생성 작업 없이 기 저장된 서브셋 폰트를 웹 클라이언트(3000)로 전송한다. 반면에, 시각정보 등의 정보를 참조하여 해당 웹 페이지에 대한 서브셋 폰트가 저장되어 있지 않은 것으로 판별되면, 웹 서버(2000)로부터의 해당 웹 페이지에 관련된 정보(예컨대, 글자 정보)를 이용하여 서브셋 폰트를 생성한다.
웹 클라이언트(3000)는 웹 폰트 서버(1000)와 통신하여 서브셋 폰트의 전송을 요청할 수 있다. 전술한 바와 같이 웹 폰트 서버(1000)는 기 저장된 서브셋 폰트를 전송하거나, 추가로 생성된 서브셋 폰트를 전송할 수 있다. 추가의 서브셋 폰트의 생성이 필요한 경우, 웹 서버(2000)와 웹 폰트 서버(1000) 사이의 동작에 의하여 서브셋 폰트가 생성되므로, 웹 클라이언트(3000)로부터의 요청에 응답하여 실시간으로 서브셋 폰트를 제공할 수 있다. 또한, 웹 클라이언트(3000)로부터 웹 폰트 서버(1000)로 서브셋 폰트를 요청하지 않더라도, 웹 서버(2000)로부터의 정보를 참조하여 웹 클라이언트(3000)의 주소를 파악할 수 있으므로, 서브셋 폰트의 전송 요청과 무관하게 웹 폰트 서버(1000)로부터 웹 클라이언트(3000)로 서브셋 폰트를 전송하는 것이 가능하다.
도 3은 도 1의 웹 폰트 서버(1000)의 일 구현예를 나타내는 블록도이다. 도 3에 도시된 바와 같이, 상기 웹 폰트 서버(1000)는 시스템 제어부(1100), 웹 페이지 등록부(1200), 정보 수집 및 분석부(1300), 서브셋 폰트 생성부(1400), 정보 비교부(1500), 서브셋 폰트 전송부(1600) 및 데이터베이스부(1700)를 포함할 수 있다. 도 1 및 도 3을 참조하여 상기 웹 폰트 서버(1000)의 동작을 설명하면 다음과 같다.
시스템 제어부(1100)는 상기 웹 폰트 서버(1000)의 시스템 전반을 제어하는 제어 동작을 수행한다. 웹 페이지 등록부(1200)는 웹 폰트를 적용할 웹 페이지를 등록하며, 정보 수집 및 분석부(1300)는 웹 페이지 내의 자바스크립트와 메타 태그 등을 이용하여 서브셋 폰트 생성에 필요한 정보를 수집 및 분석한다. 서브셋 폰트 생성부(1400)는 상기 수집 및 분석된 문서 정보를 이용하여 이에 대응하는 서브셋 폰트를 생성하며, 생성된 서브셋 폰트나 웹 페이지의 아이디, 시각 정보 등이 데이터베이스부(1700)에 저장된다.
정보 비교부(1500)는 웹 클라이언트(3000)로부터 제공된 문서 정보와 데이터베이스부(1700)에 저장된 정보를 비교하여 서브셋 폰트의 생성 여부를 판단한다. 일예로서, 웹 클라이언트(3000)로부터의 문서 정보로서 해당 웹 페이지의 아이디 및 웹 페이지의 생성 시각에 관련된 시각 정보가 제공될 수 있으며, 상기 아이디 및 시각 정보를 이용하여 해당 웹 페이지에 포함된 글자 리스트를 표현하기 위한 서브셋 폰트가 기 저장되어 있는지를 판단한다. 수신된 아이디에 대응하는 웹 페이지의 생성 시각이 데이터베이스부(1700)에 저장된 웹 페이지의 생성 시각과 동일한 경우에는 서브셋 폰트가 기 저장되어 있는 것으로 판단되며, 서브셋 폰트 전송부(1600)는 기 저장된 서브셋 폰트를 웹 클라이언트(3000)로 제공한다. 반면에, 웹 페이지가 갱신됨에 따라 그 생성 시각이 데이터베이스부(1700)에 저장된 정보와 서로 다른 경우에는, 서브셋 폰트 생성부(1400)는 새로운 웹 페이지에 포함된 글자 리스트를 표현하기 위한 서브셋 폰트를 추가로 생성하며, 서브셋 폰트 전송부(1600)는 새로 생성된 서브셋 폰트를 웹 클라이언트(3000)로 제공한다.
도 4는 본 발명의 일실시예에 따른 웹 폰트 시스템의 동작방법의 일예를 나타내는 플로우차트이다. 도 1 및 도 4에 도시된 바와 같이, 웹 폰트를 적용할 웹 페이지가 웹 폰트 서버(1000)에 등록되며(S11), 등록된 웹 페이지에 대한 정보 수집 동작이 수행된다(S12). 상기 정보 수집 동작은 상기 웹 페이지의 생성 시각(또는 페이지 수정 시각)을 포함하는 정보의 수집 동작일 수 있다.
상기 수집된 웹 페이지 정보, 적용 폰트, 적용된 글자 리스트들이 웹 폰트 서버(1000) 내의 데이터베이스부에 저장되며(S13), 상기 웹 페이지의 글자 리스트를 표현하기 위한 서브셋 폰트가 생성된다(S14).
상기와 같은 웹 폰트 시스템의 동작은 웹 폰트 서버(1000)와 웹 서버(2000) 사이의 동작에 관련된 것으로서, 주기적으로 웹 서버(2000)로부터 웹 페이지에 관련된 각종 정보들이 웹 폰트 서버(1000)로 제공된다. 상기 웹 페이지가 주기적으로 등록됨에 따라 새로운 웹 페이지의 생성 시각이 저장되고, 이에 대응하는 서브셋 폰트가 생성되어 저장된다.
도 5는 본 발명의 다른 실시예에 따른 웹 폰트 시스템의 동작방법의 일예를 나타내는 플로우차트이다. 도 1 및 도 5를 참조하면, 사용자는 웹 클라이언트(3000)를 통해 웹 폰트 서버(1000)에서 제공하는 웹 페이지에 접근한다(S21). 수신된 웹 페이지 내의 자바 스크립트가 동작하며(S21), 웹 페이지에 관련된 문서 정보(페이지 생성 시각 또는 수정 시각)가 웹 폰트 서버(1000)로 전달된다(S23).
웹 폰트 서버(1000)는 수신된 문서 정보를 이용하여 데이터베이스화되어 기 저장된 문서 정보에 비해 변경이 되었는지를 판단한다(S24). 상기 문서 정보의 변경 판단이란, 해당 웹 페이지의 아이디를 확인하고, 확인된 웹 페이지의 생성 시각에 변동이 있는지를 판단하는 동작일 수 있다. 판단 결과, 문서 정보의 변경이 없는 경우에는, 기 생성되어 저장된 서브셋 폰트를 웹 클라이언트(3000)로 전송한다(S27).
반면에, 문서 정보의 확인 결과 변경이 발생한 경우에는, 출력을 요하는 웹 페이지의 정보, 글자 리스트를 표현하기 위해 적용한 폰트, 적용된 글자 리스트 등이 웹 폰트 서버(1000)의 데이터베이스부에 업데이트된다(S25). 또한, 추가된 글자의 리스트를 포함하는 서브셋 폰트가 재 생성되며(S26), 재 생성된 서브셋 폰트가 웹 클라이언트(3000)로 전송된다(S27).
도 6, 7은 본 발명의 다른 실시예에 따른 웹 폰트 시스템의 일구현예를 나타내는 블록도이다. 도 6에 도시된 바와 같이, 상기 웹 폰트 시스템(200)은 웹 폰트 서버(4000)를 포함하며, 웹 폰트 서버(4000)는 웹 페이지를 제공하는 웹 사이트(예컨대 웹 사이트 A, 5200)와 상기 웹 사이트를 이용하는 사용자(또는 클라이언트, 5100)와 통신할 수 있다.
웹 사이트는 다수의 웹 페이지들(예컨대, page1, page2,...)을 제공하며, 또한 웹 사용자는 상기 웹 사이트로부터 하나 이상의 웹 페이지들을 수신한다. 웹 페이지들 각각은 자바 스크립트 및 CSS를 포함할 수 있으며, 각 웹 페이지에 적용된 글자 리스트로서 제1 웹 페이지(page1)는 C1, C2를 포함하고, 제2 웹 페이지(page2)는 C2, C3를 포함하는 예가 도시된다.
웹 폰트 서버(4000)는 자주 쓰이는 글자들로 구성된 빈도 세트를 이용하여 기본 서브셋 폰트를 생성한다. 일예로서, 한글을 가정하는 경우 가장 사용 빈도가 높은 글자 500 개를 빈도 세트로 정의하고, 상기 500개의 글자 리스트로 구성된 기본 서브셋 폰트를 생성한다. 빈도 세트는 상기 제1 및 제2 웹 페이지(page1, page2)에 포함된 글자들(C1, C2, C3)을 모두 포함할 수 있으며, 이에 따라 하나의 기본 서브셋 폰트를 이용하여 다수의 웹 페이지들의 글자 리스트의 표현이 가능하도록 한다.
출력을 요하는 웹 페이지에 관련된 문서 정보가 웹 폰트 서버(4000)로 제공된다. 상기 문서 정보는 출력을 요하는 웹 페이지에 포함된 글자 리스트를 포함할 수 있으며, 또는 상기 웹 페이지에 포함된 글자 리스트 중 상기 빈도 세트에 포함되지 않는 하나 이상의 글자 리스트를 포함할 수 있다. 예컨대, 사용자(5100) 측의 웹 브라우저가 웹 페이지에 포함된 글자 리스트 중 상기 빈도 세트에 포함되지 않는 글자가 존재하는지를 분석하여 그 분석 결과를 전송할 수 있다. 또는, 사용자(5100) 측의 웹 브라우저는 웹 페이지에 포함된 글자 리스트의 정보를 웹 폰트 서버(4000)로 제공하며, 웹 폰트 서버(4000) 내의 구성(예컨대, 도 3의 정보 수집 및 분석부)에 의하여 상기 빈도 세트에 포함되지 않는 글자가 존재하는지를 분석할 수 있다.
웹 폰트 서버(4000)는 분석 결과를 기반으로 하여 추가 서브셋 폰트를 생성한다. 상기 추가 서브셋 폰트는 소정 개수의 글자(예컨대, 500 글자)를 포함하는 빈도 세트 이외에 추가된 글자를 이용하여 생성된다. 즉, 사용자(5100)가 출력을 요하는 웹 페이지에 포함된 글자 리스트가 빈도 세트 이외의 글자를 포함하는 경우, 웹 폰트 서버(4000)는 상기 빈도 세트 이외의 글자를 포함하는 추가 서브셋 폰트를 생성하여 이를 사용자(5100)로 제공한다.
도 7은 빈도 세트가 글자 C1, C2, C3를 포함하는 경우에, 제1 웹 페이지(page1)의 글자 리스트는 모두 빈도 세트에 속하고 제2 웹 페이지(page2)의 글자 리스트 중 일부(예컨대, 글자 C4)가 빈도 세트에 속하지 않는 예를 나타낸다. 이에 따라, 사용자(5100)가 제1 웹 페이지(page1)를 출력하는 경우, 웹 폰트 서버(4000)는 별도의 서브셋 폰트를 생성하는 동작 없이 기 생성되어 저장된 기본 서브셋 폰트를 사용자(5100)로 제공한다. 반면에, 사용자(5100)가 제2 웹 페이지(page2)를 출력하는 경우, 웹 폰트 서버(4000)는 글자 C4가 추가된 추가 서브셋 폰트를 생성하고, 상기 생성된 추가 서브셋 폰트를 사용자(5100)로 제공한다. 상기 생성된 추가 서브셋 폰트는 웹 폰트 서버(4000) 내의 데이터베이스부에 추가로 저장될 수 있으며, 또는 상기 기본 서브셋 폰트를 추가 서브셋 폰트로 업데이트하는 방식에 의해 저장될 수 있다.
상기와 같은 본 발명의 실시예에 따르면, 다수의 웹 페이지에 대응하여 웹 폰트 서버(4000)가 계속하여 서브셋 폰트를 생성할 필요가 없으므로 폰트 생성에 소요되는 자원이 낭비되는 것을 방지할 수 있다. 즉, 소정 개수의 글자를 포함하는 빈도 세트를 이용한 기본 서브셋 폰트를 이용하여 다수의 웹 페이지의 글자 리스트의 표현이 가능하며, 소정의 웹 페이지에 포함된 글자 리스트 중 빈도 세트에 속하지 않는 글자를 포함하는 경우에만 서브셋 폰트(예컨대, 추가 서브셋 폰트)를 생성할 수 있다.
도 8은 도 6 및 도 7에 도시된 웹 폰트 시스템의 동작의 일예를 나타내는 플로우차트이다. 도 6 내지 도 8을 참조하면, 웹 폰트 서버(4000)에서 사용 빈도가 높은 글자들을 포함하는 빈도 세트를 이용하여 기본 서브셋 폰트를 생성한다(S31). 또한, 사용자(5100) 측으로부터 문서 정보를 수신하고 이를 분석한다(S32). 상기 문서 정보는 해당 웹 페이지에 포함된 글자 리스트의 정보를 포함할 수 있으며, 또는 이전 실시예에서 설명한 바와 같이 해당 웹 페이지의 아이디나 생성 시각 등의 정보를 포함하여도 무방하다. 또한, 상기 글자 리스트의 정보로서, 사용자(5100) 측의 웹 브라우저에서 해당 웹 페이지에 적용된 글자 리스트 중 빈도 세트에 포함되지 않는 글자가 존재하는지를 분석하고, 포함되지 않는 글자에 관련된 정보만을 전송할 수 있다. 또는, 사용자(5100)는 해당 웹 페이지에 적용된 글자 리스트 전체의 정보를 전송하고, 웹 폰트 서버(4000)에서 해당 웹 페이지에 포함된 글자 리스트 중 빈도 세트에 포함되지 않는 글자가 존재하는지를 분석할 수 있다.
도 8의 경우에는, 사용자(5100)는 해당 웹 페이지에 포함된 글자 리스트 전체의 정보를 전송하는 예로서, 웹 폰트 서버(4000)는 적용 글자가 빈도 세트에 포함되는지를 판단한다(S33). 판단 결과, 해당 웹 페이지에 포함된 글자 리스트 전체가 빈도 세트에 포함되는 경우, 별도의 서브셋 폰트 생성동작 없이 기 생성되어 저장된 기본 서브셋 폰트를 사용자에게 전송한다(S35). 반면에, 해당 웹 페이지에 포함된 글자 리스트 중 적어도 하나의 글자가 빈도 세트에 포함되지 않는 경우, 추가된 글자의 리스트를 포함한 서브셋 폰트(예컨대, 추가 서브셋 폰트)를 재생성한다(S34). 웹 폰트 서버(4000)는 재생성된 추가 서브셋 폰트를 사용자에게 전송한다(S35).
도 9는 본 발명의 또 다른 실시예에 따른 웹 폰트 시스템의 일구현예를 나타내는 블록도이다. 도 9에서는, 다수의 글자들을 이용하여 생성된 기본 서브셋 폰트가 웹 폰트 서버(6000)에서 웹 클라이언트(8000)로 제공되며, 상기 기본 서브셋 폰트는 웹 클라이언트(8000) 내에 저장된다. 상기 기본 서브셋 폰트는 전술한 실시예에서 그 용어가 동일하게 정의되었으나, 본 실시예에서의 기본 서브셋 폰트는 반드시 빈도 세트를 이용하여 생성될 필요는 없다. 예컨대, 웹 서버(7000)에서 제공되는 다수의 웹 페이지들이 웹 폰트 서버(6000)에 저장되고, 상기 다수의 웹 페이지들에 사용되는 글자들을 포함하는 글자 리스트를 이용하여 기본 서브셋 폰트가 생성될 수도 있다.
웹 클라이언트(8000)는 웹 서버(7000)로부터 웹 페이지를 수신하며, 수신된 웹 페이지에서 사용된 폰트와 글자의 리스트를 분석하고, 상기 글자의 리스트와 기본 서프셋 폰트에 포함된 글자의 리스트를 서로 비교하여 현존하지 않는 폰트들 및 현존하지 않는 글자 리스트에 관련된 정보를 웹 폰트 서버(6000)로 제공한다. 웹 폰트 서버(6000)는 상기 수신된 정보를 근거로 하여 현존하지 않는 글자 리스트를 포함하는 서브셋 폰트(이하, 추가 서브셋 폰트)를 생성하고 이를 웹 클라이언트(8000)로 제공한다. 웹 폰트 서버(6000) 내의 서브셋 폰트 엔진은 서브셋 생성 동작을 관리하며, 또한 클라이언트 폰트 저장부는 상기 생성된 서브셋 폰트를 저장한다.
웹 클라이언트(8000)는 웹 페이지에 포함된 자바 스크립트를 통하여 상기 글자의 리스트의 분석 동작을 수행한다. 특히, 상기 웹 클라이언트(8000)는 폰트 관리부를 포함할 수 있으며, 폰트 관리부는 웹 클라이언트(8000)에 기 저장된 기본 서브셋 폰트와 웹 폰트 서버(6000)로부터 제공된 추가 서브셋 폰트를 이용하여 웹 페이지에 포함된 글자를 표현하는 동작을 관리한다. 예컨대, 폰트 관리부는 기본 서브셋 폰트에 추가 서브셋 폰트를 삽입하는 동작을 수행할 수 있으며, 또는 기본 서브셋 폰트와 추가 서브셋 폰트를 포함하는 서브셋 폰트를 생성하여 이를 기존의 기본 서브셋 폰트에 업데이트할 수 있다.
도 9의 예에서는 현존하지 않는 글자 리스트에 대한 서브셋 폰트 생성이 웹 폰트 서버(6000)에서 생성되고, 웹 클라이언트(8000)의 폰트 관리부는 서브셋 폰트에 추가 서브셋 폰트를 삽입하는 등의 동작을 수행하는 것으로 설명되었으나, 본 발명의 실시예는 이에 국한될 필요는 없다. 일예로서, 웹 클라이언트(8000)의 폰트 관리부가 현존하지 않는 글자 리스트에 대한 서브셋 폰트 생성 동작을 수행할 수 있으며, 이 경우 웹 클라이언트(8000) 내에서 추가 서브셋 폰트 생성 및 이의 결합 또는 업데이트 등의 동작이 수행될 수 있다. 이에 따르면, 새로운 글자가 포함된 웹 페이지의 수신시마다 웹 폰트 서버(6000)로부터 웹 클라이언트(8000)로 추가 서브셋 폰트가 전송될 필요가 없으며, 상기 추가된 글자에 대해서는 웹 클라이언트(8000) 내에서 추가 서브셋 폰트의 생성이 가능하다.
한편, 웹 클라이언트(8000)는 현존하는 폰트들과 현존하는 문자 리스트를 별도로 기록, 관리함으로써, 웹 페이지에 포함된 글자 리스트의 비교 및 현존하지 않는 글자 리스트의 전송 동작이 신속하게 처리될 수 있도록 한다.
도 10은 도 9에 도시된 웹 폰트 시스템의 동작방법의 일예를 나타내는 플로우차트이다. 도 9 및 도 10에 도시된 바와 같이, 웹 클라이언트(8000)는 웹 폰트 서버(6000)로부터 기본 서브셋 폰트를 수신하고 이를 저장한다(S41). 상기 기본 서브셋 폰트에 포함되는 글자의 리스트는 언어, 빈출도 등의 카테고리를 둠으로써 보다 효과적으로 지원될 문자의 범위를 정의할 수 있다.
이후, 웹 클라이언트(8000)는 웹 서버(7000)로부터 웹 페이지를 수신하며(S42), 수신된 웹 페이지에서 사용된 폰트와 글자의 리스트를 분석하고, 상기 글자의 리스트와 기본 서브셋 폰트에 포함된 글자의 리스트를 서로 비교한다(S43). 또한, 상기 비교 결과에 따라 현존하지 않는 폰트들 및 현존하지 않는 글자 리스트에 관련된 정보를 웹 폰트 서버(6000)로 전송한다(S44). 웹 클라이언트(8000)는 웹 폰트 서버(6000)에서 생성된 현존하지 않는 글자 리스트를 포함하는 추가 서브셋 폰트를 수신하며(S45), 기본 서브셋 폰트 및 수신된 추가 서브셋 폰트를 이용하여 웹 페이지에 포함된 글자를 표현한다. 또한, 수신된 추가 서브셋 폰트를 이용하여 서브셋 폰트를 업데이트하며(S46), 상기 업데이트 동작은 기본 서브셋 폰트에 추가 서브셋 폰트를 삽입함에 의해 수행되거나, 본 서브셋 폰트와 추가 서브셋 폰트를 포함하는 서브셋 폰트를 생성함에 의해 수행될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (2)

  1. 서브셋 폰트를 적용할 웹 서버에서 제공하는 웹 페이지를 등록하는 단계;
    상기 등록된 웹 페이지에 대응하는 제1 서브셋 폰트를 생성 및 저장하는 단계;
    웹 클라이언트로 웹 페이지를 전송한 웹 서버로부터 상기 웹 페이지에 관련된 제1 문서 정보를 수신하는 단계;
    상기 제1 문서 정보를 상기 등록된 웹 페이지와 관련하여 내부 데이터베이스에 기 저장된 제2 문서 정보와 비교하며, 상기 제1 문서 정보에 관련된 웹 페이지에 대응하는 제2 서브셋 폰트의 생성 필요성을 판단하는 단계; 및
    상기 비교 결과에 따라, 상기 제1 서브셋 폰트를 상기 웹 클라이언트로 전송하거나, 상기 웹 서버로부터의 제1 문서 정보에 기반하여 상기 제2 서브셋 폰트를 생성하여 이를 상기 웹 클라이언트로 전송하는 단계를 구비하고,
    상기 판단하는 단계는, 상기 등록된 웹 페이지에 관련된 제2 문서 정보에 포함되는 아이디 및 생성시각 중 적어도 하나와, 상기 웹 서버로부터 제공된 제1 문서 정보에 포함되는 아이디 및 생성시각 중 적어도 하나의 동일성 여부를 비교하며,
    상기 제2 서브셋 폰트는 상기 제1 문서 정보에 포함되는 글자 리스트의 분석 정보를 이용하여 생성되는 것을 특징으로 하는 웹 폰트 서버의 동작방법.
  2. 제1항에 있어서,
    상기 제1 문서 정보를 수신하는 단계는, 상기 웹 서버가 웹 클라이언트로 웹 페이지를 전송하는 동작과 동시에 수행되는 것을 특징으로 하는 웹 폰트 서버의 동작방법.
KR1020130006495A 2013-01-21 2013-01-21 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템 KR101400213B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130006495A KR101400213B1 (ko) 2013-01-21 2013-01-21 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130006495A KR101400213B1 (ko) 2013-01-21 2013-01-21 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020120050470A Division KR101263919B1 (ko) 2012-05-11 2012-05-11 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템

Publications (2)

Publication Number Publication Date
KR20130126459A KR20130126459A (ko) 2013-11-20
KR101400213B1 true KR101400213B1 (ko) 2014-05-28

Family

ID=49854548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130006495A KR101400213B1 (ko) 2013-01-21 2013-01-21 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템

Country Status (1)

Country Link
KR (1) KR101400213B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102064753B1 (ko) * 2018-01-24 2020-01-13 주식회사 윤디자인그룹 맞춤형 폰트 제공 서비스 제공 방법 및 서비스 제공 서버
US11113450B2 (en) 2018-10-26 2021-09-07 International Business Machines Corporation Cognitive font enrichment management for adding system fonts
KR102218356B1 (ko) * 2019-01-11 2021-02-22 주식회사 윤디자인그룹 입력되는 글자에 따른 폰트 관리 수행 방법
KR102218355B1 (ko) * 2019-01-11 2021-02-22 주식회사 윤디자인그룹 입력되는 글자에 따른 폰트 관리 수행 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110132332A (ko) * 2009-02-20 2011-12-07 마이크로소프트 코포레이션 웹상의 문서보기를 위해 폰트를 제공하는 컴퓨터 구현방법 및 시스템과 컴퓨터 판독가능 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110132332A (ko) * 2009-02-20 2011-12-07 마이크로소프트 코포레이션 웹상의 문서보기를 위해 폰트를 제공하는 컴퓨터 구현방법 및 시스템과 컴퓨터 판독가능 매체

Also Published As

Publication number Publication date
KR20130126459A (ko) 2013-11-20

Similar Documents

Publication Publication Date Title
US11907244B2 (en) Modifying field definitions to include post-processing instructions
CN106105160B (zh) 预取断开连接时段的应用数据
US8788577B2 (en) Method and system for automated analysis and transformation of web pages
CN107257390B (zh) 一种url地址的解析方法和系统
US20170277672A1 (en) Information processing device, information processing method, and computer program product
CN102193953A (zh) 桌面应用迁移系统和方法
KR101400213B1 (ko) 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템
KR102033416B1 (ko) 문서로부터 추출되는 데이터를 생성하는 방법 및 그 장치
JP2018508059A (ja) ネットワークベース静的フォントサブセット管理
CN103530292A (zh) 网页显示方法和装置
KR20190108657A (ko) 유사 그룹 요소 추출
CN109510721A (zh) 一种基于Syslog的网络日志管理方法与系统
US10367839B2 (en) Graphical user interface programmed to display complex indicators based on structured threat expressions
US20120120436A1 (en) Remote printing
CN113687825B (zh) 一种软件模块的构建方法、装置、设备及存储介质
CN102375881A (zh) 内容签名通知
US20100007919A1 (en) Document management apparatus, document management method, and document management program
CN112732693A (zh) 智能化物联网数据采集方法、装置、设备及存储介质
KR101263919B1 (ko) 서브셋 폰트를 제공하는 웹 폰트 서버 및 이를 포함하는 웹 폰트 시스템
CN115186214A (zh) 页面配置方法、装置、计算机设备及计算机可读存储介质
Jalali et al. OPWUMP: an architecture for online predicting in WUM-based personalization system
CN103092942A (zh) 查询信息获取及展示的客户端、方法及系统
Nicholas et al. Evidence of user behaviour: deep log analysis
JPWO2016178312A1 (ja) 情報処理装置、情報処理方法およびプログラム
KR100714220B1 (ko) 이동통신 단말기의 대기-모드 화면에 블로그의 콘텐츠정보를 제공하는 시스템, 그 방법 및 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for 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: 20171121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180517

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190610

Year of fee payment: 6