WO2018212389A1 - 폰트 합성 및 공유 시스템 - Google Patents

폰트 합성 및 공유 시스템 Download PDF

Info

Publication number
WO2018212389A1
WO2018212389A1 PCT/KR2017/005346 KR2017005346W WO2018212389A1 WO 2018212389 A1 WO2018212389 A1 WO 2018212389A1 KR 2017005346 W KR2017005346 W KR 2017005346W WO 2018212389 A1 WO2018212389 A1 WO 2018212389A1
Authority
WO
WIPO (PCT)
Prior art keywords
font
correction ratio
synthetic material
composite
glyph
Prior art date
Application number
PCT/KR2017/005346
Other languages
English (en)
French (fr)
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 WO2018212389A1 publication Critical patent/WO2018212389A1/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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing

Definitions

  • the present invention relates to a font service providing technology.
  • a font is an entire suite of the same size and shape, including all the letters, numbers, and special symbols needed for typesetting.
  • the font file includes a unique design of each character for displaying a number of languages such as numbers, English letters, Korean characters, and Chinese characters, and these font files are selected and used according to a design where a character is required, such as graphic design or paper work.
  • Korean uses the A font file's Korean font
  • English uses the B font file's English font
  • numbers use the C font file's numeric font. Many fonts are mixed.
  • An object of the present invention is to provide a technical scheme for synthesizing character fonts so that different fonts can be used for different characters according to user preferences.
  • an object of the present invention is to provide a technical scheme for sharing a composite font to be used by others.
  • a font service program installed and executed on a computing device and providing a font service according to an aspect synthesizes different character fonts selected as a composite material font from among a plurality of font files, each of which includes a plurality of character fonts. It may include a font synthesis unit for generating a, and a font registration unit for registering the synthesized font in the operating system.
  • the font synthesizing unit may automatically correct the grip size and the point position in the glyph of the remaining synthetic material font based on the basic material font which is one of the synthetic material fonts.
  • the font synthesis unit calculates the glyph size correction ratio and the baseline correction ratio for each remaining synthetic material font based on the base material font, and glyphs of the corresponding synthetic material font according to the glip size correction ratio and the baseline correction ratio calculated for each composite material font.
  • the size and point position in the glyph can be automatically corrected.
  • the font synthesizing unit may additionally calculate and correct at least one of a glip size correction ratio and a baseline correction ratio for each composite material font according to an input for manual correction by a user.
  • the font synthesizing unit copies the font file including the basic material font for font synthesis, and may generate the synthesized font file by updating the font file copied with the glyph data of the remaining synthetic material font.
  • the font service program may further include a font sharing unit including a composition information sharing unit configured to transmit font composition information including a composite material font list, a glyph size correction ratio and a baseline correction ratio for each composite material font to a font server.
  • a font sharing unit including a composition information sharing unit configured to transmit font composition information including a composite material font list, a glyph size correction ratio and a baseline correction ratio for each composite material font to a font server.
  • the font sharing unit obtains one of the plurality of font composition information from the cloud composition information from the cloud server, and synthesizes the composite material fonts included in the composite material font list included in the obtained font composition information to generate a reproduced composite font file.
  • the method may further include a composite font reproducing unit configured to automatically correct a grip size and a point position in the glyph of the corresponding synthetic material font according to the grip size correction ratio and the baseline correction ratio for each synthetic material font belonging to the synthetic material font list.
  • a font synthesizing and sharing method includes a font synthesizing step of synthesizing different character fonts selected as a synthetic material font among a plurality of font files each including a plurality of character fonts, and generating a synthesized font file; Registering the composite font with an operating system of the computing device.
  • the font synthesizing and sharing apparatus is different from each other selected as a synthetic material font from among a file storage unit storing a plurality of font files each comprising a plurality of character fonts, and a plurality of font files stored in the file storage unit
  • the controller may include a font synthesizer configured to synthesize the character fonts to generate a synthesized font file, and a font register configured to register the generated synthesized font with the operating system.
  • FIG. 1 is a block diagram of a font synthesis and sharing system according to an embodiment.
  • FIG. 2 is a block diagram of a user device according to an exemplary embodiment.
  • FIG. 3 is a block diagram of a font manager according to an exemplary embodiment.
  • FIG. 4 is a reference diagram for describing font composition and sharing according to an embodiment.
  • FIG. 5 is a flowchart illustrating a font synthesis method according to an exemplary embodiment.
  • FIG. 6 is a flowchart illustrating providing font composition information for font sharing, according to an exemplary embodiment.
  • FIG. 7 is a flowchart for generating a synthesized composite font for font sharing, according to an exemplary embodiment.
  • a font synthesizing and sharing system may include a font server system 100 and one or more user devices 200.
  • font synthesis and sharing systems do not necessarily have to include all of them, and may include only some of them.
  • the font synthesizing and sharing system may be made of only software configurations, not hardware configurations.
  • the font synthesizing and sharing system refers only to the font manager 300 itself, which is a font service program installed and executed in the user device 200. That is, it may mean only a software system implemented in the user device 200 according to the execution of the font manager 300.
  • the font server system 100 includes a font server 110 and a database 120.
  • the font server 110 is an API server that provides a cloud type font service.
  • the font server 110 maintains various font files in the database 120 and provides font files to users for a fee or free of charge.
  • the user device 200 is a computing device having a communication function, for example, a desktop computer or a notebook computer.
  • the user device 200 may download and install the font manager 300 from the font server 110.
  • the font manager 300 may provide a font service to a user by interworking with the font server 110.
  • the font manager 300 may download and store one or more font files desired by the user from the font server 110 and install (register) the OS. )do. Accordingly, the user can use the font file in an application program such as a word processor or a graphic design program.
  • the font manager 300 generates one composite font file by synthesizing different character fonts selected as composite material fonts from a plurality of font files by a user, and registering the generated composite font file with the OS. do.
  • the font manager 300 may transmit and share font composition information to the font server 110 so that other users can use the synthesized font file, and receive the font composition information from the font server 110 and share it. You can create a composite font file and register it with the OS.
  • CMAP Table All letters have Unicode corresponding to each letter, and table that stores mapping information between Unicode of each letter and Glyph which is design unit of each letter.
  • LOCA Table Table that stores location information of each serial number of Glyph data mapped in CMAP table.
  • GLYF Table Table that stores Glyph data (Glyph data is stored in order)
  • OS / 2 table Table that stores multiple data used by Windows and OS / 2 NAME table Table that stores font name information. Table that stores names according to language, platform, and encoding method.
  • the font manager 300 may extract glyph data of the composite material font by using the CMAP table, the LOCA table, the GLYF table, and the OS / 2 table for each font file, and use the extracted glyph data for font synthesis.
  • the NAME table is used to store font names newly assigned to composite fonts.
  • the user device 200 may include an input unit 210, a display unit 220, a communication unit 230, a storage unit 240, and a controller 250.
  • the input unit 210 is a component for providing a user input interface and may include at least one of a key input unit and a touch panel.
  • the display unit 220 is a display for visual output to a user, and examples thereof include OLEDs (Organic Light Emitting Diodes), TFT-LCDs (Thin Film Transistor-Liquid Crystal Disaply), and the like.
  • the touch panel and the display may be integrally combined to be provided in the form of a touch screen.
  • the communicator 230 supports one or more communication protocols.
  • the communication unit 230 may use at least some of communication protocols such as TCP / IP, IPX, SPX, NetBIOS, Ethernet, ARCNET, Fiber Distributed Date Interface (FDDI), IEEE 802.11, IEEE 802.11a, and direct synchronization connection. Support.
  • the communication unit 230 may transmit / receive data with the font server 110 through a communication network using such a communication protocol.
  • the storage unit 240 is a storage medium that stores instructions, data, programs, and the like, and may include one or more memories.
  • the storage unit 240 stores a plurality of font files.
  • the controller 250 may include hardware and OS including one or more processors.
  • the controller 250 may include a font manager 300.
  • the font manager 300 may be stored in the storage 240 and may be loaded and executed by the controller 250 to perform functions of software function modules of the font manager 300.
  • the font manager 300 may include a font synthesizing unit 310 and a font registering unit 320, and may further include a font sharing unit 330.
  • the font synthesizing unit 310 generates a composite font file by synthesizing different character fonts selected as composite material fonts from among a plurality of font files each including a plurality of character fonts. For example, the user 1 selects the A Korean font 10 as the composite material font in the A font file, the B alphabet font 20 in the B font file, and the C font file in the C font file.
  • the numeric font 30 is selected as the synthetic material font.
  • the font synthesizing unit 310 synthesizes the composite material fonts, thereby producing the composite font 40.
  • the font register 320 newly stores the synthesized font file generated by the font synthesizer 310 in the storage 240, and registers the synthesized font in the operating system. Accordingly, the user 1 can use the composite font in the application program.
  • the font synthesizing unit 310 uses one of the synthetic material fonts 10, 20, and 30 as a basic material font.
  • the default material font may be specified in advance, and the Korean font may be designated as the default material font.
  • the A Hangul font 10 will be described as being a basic material font.
  • the font synthesizing unit 310 copies the font file including the A Hangul font 10, that is, the A font file for use in font synthesis, and copies the glyph data of the remaining synthetic material fonts 20 and 30 into the font synthesis.
  • a composite font 40 is generated by overwriting the corresponding glyph data of the A font file copied for the purpose.
  • the glyph data of the B alphabet font 20 is overwritten on the English glyph data of the copied A font file
  • the glyph data of the C numeric font 30 is overwritten on the numeric glyph data of the copied A font file.
  • the glyph data of the composite material fonts may be extracted for each font file using a CMAP table, a LOCA table, a GLYF table, and an OS / 2 table.
  • the A font file copied and updated by the font synthesizing unit 310 is a synthesized font file.
  • the font synthesizer 310 may correct the glyph data of the B English font 20 and the C numeric font 30 based on the A Korean font 10.
  • the correction targets are the grip size and the point position in the grip.
  • the font synthesizing unit 310 calculates a grip size correction ratio of each of the B alphabet font 20 and the C numeric font 30, and each of the B alphabet font 20 and the C numeric font 30, respectively. The baseline correction ratio is calculated, and the glyph size and the position of all points in the glyph of the B alphabet font 20 and the C numeric font 30 are adjusted with the calculation result.
  • the font synthesis unit 310 calculates a gripping size correction ratio of the B English font 20 by comparing the line height of the B English font 20 to the line height of the A Korean font 10. In addition, the font synthesizer 310 compares the line height of the C number font 30 to the line height of the A Korean font 10 to calculate the glyph size correction ratio of the C number font 30.
  • the line height information for calculating the glyph size correction ratio may be obtained by adding up the Ascender, Descender, and Line Gap information in the OS / 2 table of each font file.
  • the font synthesizing unit 310 selects a representative glyph for automatic baseline correction of each of the B alphabet font 20 and the C numeric font 30.
  • 'A' glyph is used as the representative glyph
  • '1' glyph can be used as the representative glyph.
  • Such representative glyphs may be predetermined for each character font.
  • the font synthesizer 310 compares the height difference between the baseline of the A Hangul font 10 and the lowest coordinate of the 'A' grip to calculate the baseline correction ratio of the B English font 20.
  • the font synthesizer 310 calculates the baseline correction ratio of the C number font 30 by comparing the height difference between the baseline of the A Hangul font 10 and the lowest coordinate of the '1' grip.
  • the font synthesizing unit 310 When the glyph size correction ratio calculation and the baseline correction ratio calculation are completed as described above, the font synthesizing unit 310 overwrites the B alphabet letter glyph data extracted from the B font file on the English glyph data of the copied A font file. In this process, the font synthesizing unit 310 adjusts the glyph size of the B alphabet letter by the calculated glyph size correction ratio, and adjusts all point positions in the glyph of the B alphabet letter by the calculated baseline correction ratio. Also, the font synthesizing unit 310 overwrites the C numeric glyph data extracted from the C font file onto the numeric glyph data of the copied A font file. In this process, the font synthesizing unit 310 adjusts the grip size of the C number by the calculated glyph size correction ratio, and adjusts all point positions within the glyph of the C number by the calculated baseline correction ratio.
  • the font synthesizing unit 310 calculates the glyph size correction ratio and / or the baseline correction ratio of the corresponding font according to the user 1's manual correction input for the automatically corrected B alphabet font and / or C numeric font. And further corrections can be made according to the calculated values. That is, if the automatic correction result is not satisfactory enough, the user can input for manual correction in addition to the automatic correction.
  • the font synthesizer 310 may newly sort the LOCA table information of the synthesized font 40.
  • the reason is that the total size of the G alphabet and C number glyph data combined in the copied A font file may be different from the total size of the G alphabet and C number glyph data originally present in the A font file. Therefore, in this case, the font synthesizing unit 310 newly sorts the position information of the LOCA table.
  • the font synthesizer 310 sets a name of the new font in the NAME table of the synthesized font file.
  • the font synthesizer 310 may set a font name input by the user in the NAME table of the synthesized font file. Thereafter, the font synthesizer 310 stores the synthesized font file in the storage 240 and registers the OS.
  • the font synthesizing unit 310 may generate font composition information for sharing the synthesized font.
  • the font composition information includes a compound material font list.
  • the synthetic material font list may be made of unique material that can identify the synthetic material font name or other synthetic material fonts.
  • the font composition information includes basic material font information, glyph size correction ratio and baseline correction ratio information for each synthetic material font relative to the basic material font.
  • the information on the gripping size correction ratio and the baseline correction ratio for each synthetic material font compared to the basic material font included in the font synthesis information may also reflect the manual correction ratio.
  • This font composition information is used for font sharing.
  • the font composition information may be included in the composition font file.
  • the table may be newly defined, and the font composition information may be stored in the table.
  • the table in which the font composition information is stored may be referred to as a SanDoll Composite Font (SDCF) table.
  • the font composition information may also include a compound font name.
  • composite font names are stored in the NAME table, not in the SDCF table.
  • the font sharing unit 330 may include a composite font sharing unit 331 and a composite font reproduction unit 332.
  • the composite font sharing unit 331 transmits the font composition information to the font server 110 in order to allow the other user 2 to share the composite font 40 of the user 1.
  • the composite font sharing unit 331 transmits the font composition information obtained by inquiring the SDCF table and the NAME table of the synthesized font file to the font server 110.
  • the font server 110 stores the font composition information in the database 120. Font composition information stored in the database 120 may be shared secret, shared or group sharing. Secret sharing means that only other users designated by the user can share, whole sharing means that all users can share, and group sharing means that only users belonging to a specific group can share.
  • the synthesized font reproducing unit 332 may receive font composition information stored in the database 120 from the font server 110, and reproduce the synthesized font with the received font composition information.
  • the synthesized font reproducing unit 332 checks the composite material font list of the font synthesis information, and generates a composite font with the synthetic material fonts belonging to the list. If the synthetic material font is not stored in the storage unit 240, the synthetic font reproducing unit 332 may generate the composite font after downloading the corresponding synthetic material font from the font server 110. If the font composition information includes the basic material font information and the glyph size correction ratio and the baseline correction ratio information for each composite material font relative to the basic material font, the composite font reproducing unit 332 grips the corresponding composite material fonts according to the information.
  • the synthesized font generation method of the synthesized font reproducing unit 332 is the same as the above-described font synthesis, except that only a given font synthesis information is generated to generate a synthesized font.
  • the synthesized font generated by the synthesized font reproducing unit 332 is distinguished from the synthesized font generated by the font synthesizing unit 310 and is referred to as a reproduced composite font.
  • the reproduced synthesized font is stored in the storage unit 240 by the font registration unit 320 and registered in the operating system.
  • the other font manager 300-1 may request the font server 110 to search for the font composition information of the user 1 stored in the database 120, and receive the font composition information retrieved from the font server 110. To reproduce the synthesized font 50. That is, the other user 2 can generate and use the same reproduced synthesized font 50 as the synthesized font 40 of the user 1. On the contrary, the user 1 may also reproduce and use a composite font created by another user 2.
  • the user inputs a font name to the font manager 300 and requests the font server 110 to retrieve the font composition information.
  • the font server 110 may search for a synthesized font name that matches the font name received from the font manager 300, and if the search is successful, transmit the corresponding font composition information to the font manager 300.
  • the user inputs a composite material font name used for the composite font and requests the font server 110 to retrieve the font composite information.
  • the font server 110 retrieves the composite material font list of each of the font synthesis information stored in the database 120 with the composite material font name received from the font manager 300, and if the search is successful, the font synthesis information is retrieved.
  • the font manager 300 may transmit the same.
  • FIG. 5 is a flowchart illustrating a font synthesis method according to an exemplary embodiment.
  • synthetic material fonts are selected by the user among a plurality of font files, each containing character fonts.
  • a Korean font, the B English font, and the C numeric font are selected as the composite material fonts in the A font file, the B font file, and the C font file, respectively.
  • the basic material font is a Korean font.
  • the font manager 300 synthesizes the A Hangul font, the B alphabet font, and the C numeric font to generate a synthesized font file (S100 to S150), and stores the generated synthesized font file in a memory and registers it to the OS (S160).
  • the synthetic font file generation step will be described in detail.
  • the font manager 300 copies the entire A font file to which the Korean font A, which is the basic material font, belongs, for use in font synthesis (S100). Then, the A font files copied with the G-data of each of the remaining B English fonts and C numeric fonts except for the A Korean fonts are updated (S110 to S150). The updated A font file is immediately a composite font file, which is stored in memory and registered in the OS in S160.
  • the font manager 300 calculates a grip size and a baseline correction ratio for each of the B alphabet font and the C numeric font based on the A Korean font (S110). Then, the glyph data of the B English font and the G number data of the C numeric font are inserted into the copied A font file. The glyph data of the B English font is overwritten on the English glyph data of the copied A font file. The glyph data of the C numeric font is overwritten on the numeric glyph data of (S120). In step S120, the font manager 300 corrects the glyph size and the point position in the glyph of the B alphabet font and the C number font according to the correction ratio calculated in S200. Next, the font manager 300 sorts the LOCA table data (S130). The reason for the alignment is as described above and may be omitted.
  • the font manager 300 changes the synthesized font file, that is, a new name designated by the user to the NAME table of the updated A font file after being copied (S140). This sets the composite font name.
  • the font manager 300 may generate an SDCF table (S150).
  • the SDCF table includes a composite material font list and basic material font information used to generate the composite font file, and a glyph size correction ratio and baseline correction ratio information for each synthetic material font relative to the basic material font. If you do not want to share the composite font S150 may be omitted.
  • the font manager 300 extracts font synthesis information stored in the SDCF table of the synthesized font file, and extracts the synthesized font name stored in the NAME table (S200).
  • the extracted synthesized font name is included in the extracted font composition information and transmitted to the font server 110 (S210).
  • the font server 110 receives the font composition information and stores it in the database 120. Accordingly, in the database 120, font composition information of composite fonts generated by one or more users are stored and shared.
  • the font manager 300 requests the font server 110 to search for font composition information (S300). In response to the search request, the font server 110 performs a search whether the corresponding font composition information is stored in the database 120, and transmits the font composition information to the font manager 300 when it is found.
  • the font manager 300 receives the font composition information from the font server 110 and generates a reproduced composite font using the received font composition information (S310) (S320).
  • the generated reproduction synthesized font file is stored in the memory and registered in the OS (S330).
  • embodiments of the present invention may be implemented in computer readable codes on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which may also be implemented in the form of carrier waves (for example, transmission over the Internet). Include.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.
  • font server system 110 font server
  • input unit 220 display unit
  • control unit 300 font manager
  • font synthesizer 320 font register
  • font sharing unit 331 composite font sharing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

컴퓨팅 디바이스에 설치 및 실행되어 폰트 서비스를 제공하는 폰트 서비스 프로그램이 개시된다. 이 폰트 서비스 프로그램은 각각이 복수의 문자 폰트들을 포함하는 복수의 폰트 파일들 중에서 합성 재료 폰트로 선택된 서로 다른 문자 폰트들을 합성하여 합성 폰트 파일을 생성하는 폰트 합성부, 및 합성 폰트를 운영체제에 등록하는 폰트 등록부를 포함한다.

Description

폰트 합성 및 공유 시스템
본 발명은 폰트 서비스 제공 기술에 관한 것이다.
폰트(font)란 활자조판에 필요한 모든 글자, 숫자, 그리고 특수기호들을 포함한 동일한 크기와 모양의 한 벌 전체를 말한다. 폰트 파일에는 숫자, 영문자, 한글, 한자 등 여러 언어를 표시하기 위한 문자 각각의 고유 디자인이 포함되어 있으며, 이러한 폰트 파일은 그래픽 디자인이나 문서작업 등 문자가 필요한 곳에서 디자인에 맞게 선택되어 사용되고 있다. 그래픽 디자인이나 출판의 조판에서도 한글은 A 폰트 파일의 한글 폰트를 사용하고, 영문자는 B 폰트 파일의 영문자 폰트를 사용하며, 숫자는 C 폰트 파일의 숫자 폰트를 사용하는 등과 같이 하나의 글 줄에 여러 개의 폰트를 섞어쓰는 경우가 많이 있다.
[선행기술문헌]
[특허문헌]
국내등록특허공보 제10-1229164호 (2013년 2월 1일 공고)
본 발명은 사용자 기호에 맞게 서로 다른 문자마다 서로 다른 폰트를 사용할 수 있도록 문자 폰트를 합성하는 기술적 방안을 제공함을 목적으로 한다.
나아가, 본 발명은 합성 폰트를 타인도 사용할 수 있게 공유하는 기술적 방안을 제공함을 목적으로 한다.
일 양상에 따른 컴퓨팅 디바이스에 설치 및 실행되어 폰트 서비스를 제공하는 폰트 서비스 프로그램은 각각이 복수의 문자 폰트들을 포함하는 복수의 폰트 파일들 중에서 합성 재료 폰트로 선택된 서로 다른 문자 폰트들을 합성하여 합성 폰트 파일을 생성하는 폰트 합성부, 및 합성 폰트를 운영체제에 등록하는 폰트 등록부를 포함할 수 있다.
폰트 합성부는 합성 재료 폰트들 중에서 어느 하나인 기본 재료 폰트를 기준으로 나머지 합성 재료 폰트의 글립 사이즈와 글립 내 포인트 위치를 자동 보정할 수 있다.
폰트 합성부는 기본 재료 폰트를 기준으로 나머지 합성 재료 폰트별로 글립 사이즈 보정 비율과 베이스라인 보정 비율을 산정하고, 합성 재료 폰트별로 산정된 글립사이즈 보정 비율과 베이스라인 보정 비율에 따라 해당 합성 재료 폰트의 글립사이즈 및 글립 내 포인트 위치를 자동 보정할 수 있다.
폰트 합성부는 자동 보정 후에 사용자의 수동 보정을 위한 입력에 따라 합성 재료 폰트별로 글립사이즈 보정 비율과 베이스라인 보정 비율 중 적어도 하나를 추가 산정하여 보정할 수 있다.
폰트 합성부는 기본 재료 폰트가 포함된 폰트 파일을 폰트 합성용으로 복사하며, 나머지 합성 재료 폰트의 글립 데이터로 복사된 폰트 파일을 갱신함에 의해 합성 폰트 파일을 생성할 수 있다.
폰트 서비스 프로그램은 합성 재료 폰트 리스트와 합성 재료 폰트별 글립 사이즈 보정 비율 및 베이스라인 보정 비율을 포함한 폰트 합성 정보를 폰트 서버로 전송하는 합성 정보 공유부를 포함하는 폰트 공유부를 더 포함할 수 있다.
폰트 공유부는 클라우드 서버로부터 복수의 폰트 합성 정보들 중에서 어느 하나의 폰트 합성 정보를 획득하고, 획득된 폰트 합성 정보에 포함된 합성 재료 폰트 리스트에 속한 합성 재료 폰트들을 합성하여 재현 합성 폰트 파일을 생성하되, 합성 재료 폰트 리스트에 속한 합성 재료 폰트별 글립 사이즈 보정 비율 및 베이스라인 보정 비율에 따라 해당 합성 재료 폰트의 글립 사이즈와 글립 내 포인트 위치를 자동 보정하는 합성 폰트 재현부를 더 포함할 수 있다.
한편, 일 양상에 따른 폰트 합성 및 공유 방법은 각각이 복수의 문자 폰트들을 포함하는 복수의 폰트 파일들 중에서 합성 재료 폰트로 선택된 서로 다른 문자 폰트들을 합성하여 합성 폰트 파일을 생성하는 폰트 합성 단계, 및 합성 폰트를 컴퓨팅 디바이스의 운영체제에 등록하는 단계를 포함할 수 있다.
한편, 일 양상에 따른 폰트 합성 및 공유 장치는 각각이 복수의 문자 폰트들을 포함하는 복수의 폰트 파일들이 저장된 파일 저장부, 및 파일 저장부에 저장된 복수의 폰트 파일들 중에서 합성 재료 폰트로 선택된 서로 다른 문자 폰트들을 합성하여 합성 폰트 파일을 생성하는 폰트 합성부와 생성된 합성 폰트를 운영체제에 등록하는 폰트 등록부를 포함하는 제어부를 포함할 수 있다.
개시된 바에 따르면, 합성 폰트의 제작이 가능해지는 바, 사용자는 모든 응용 프로그램에서 맞춤형 합성 글꼴을 사용할 수 있게 된다. 즉, 폰트를 사용하는 모든 프로그램에서 사용자가 선호하는 한글, 영문자, 숫자, 기호 등의 디자인을 하나의 폰트로 묶어서 사용할 수 있게 된다. 나아가, 다른 사용자들과 합성 폰트를 공유할 수도 있게 된다.
도 1은 일 실시예에 따른 폰트 합성 및 공유 시스템 블록도이다.
도 2는 일 실시예에 따른 사용자 디바이스 블록도이다.
도 3은 일 실시예에 따른 폰트 매니저 블록도이다.
도 4는 일 실시예에 따른 폰트 합성 및 공유 설명을 위한 참조도이다.
도 5는 일 실시예에 따른 폰트 합성 방법 흐름도이다.
도 6은 일 실시예에 따른 폰트 공유를 위한 폰트 합성 정보 제공 흐름도이다.
도 7은 일 실시예에 따른 폰트 공유를 위한 재현 합성 폰트 생성 흐름도이다.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 폰트 합성 및 공유 시스템 블록도이다. 도 1에 도시된 바와 같이, 폰트 합성 및 공유 시스템은 폰트 서버 시스템(100)과 하나 이상의 사용자 디바이스(200)를 포함할 수 있다. 그러나 폰트 합성 및 공유 시스템이 반드시 이들 모두를 포함해야 한다는 것은 아니며, 일부만을 포함할 수도 있다. 또는 폰트 합성 및 공유 시스템은 하드웨어적인 구성들은 제외하고 소프트웨어적인 구성들만으로 이루어질 수도 있다. 예를 들어, 폰트 합성 및 공유 시스템은 사용자 디바이스(200)에 설치되어 실행되는 폰트 서비스 프로그램인 폰트 매니저(300) 그 자체만을 의미한다. 즉, 폰트 매니저(300)의 실행에 따라 사용자 디바이스(200)에서 구현되는 소프트웨어적인 시스템만을 의미할 수도 있다.
폰트 서버 시스템(100)은 폰트 서버(110)와 데이터베이스(120)를 포함한다. 폰트 서버(110)는 클라우드 방식의 폰트 서비스를 제공하는 API 서버이다. 폰트 서버(110)는 다양한 폰트 파일들을 데이터베이스(120)에 보유하며, 사용자들에게 유료 또는 무료로 폰트 파일들을 제공한다. 사용자 디바이스(200)는 통신 기능을 갖는 컴퓨팅 디바이스로서, 데스크톱 컴퓨터나 노트북 컴퓨터 등을 예로 들 수 있다. 이러한 사용자 디바이스(200)는 폰트 서버(110)로부터 폰트 매니저(300)를 다운로드받아 설치할 수 있다. 폰트 매니저(300)는 폰트 서버(110)와 연동하여 사용자에게 폰트 서비스를 제공할 수 있는데, 폰트 서버(110)로부터 사용자가 원하는 하나 이상의 폰트 파일을 다운로드받아 저장하고 운영체제(OS)에 설치(등록)한다. 이에 따라, 사용자는 워드프로세서나 그래픽디자인 프로그램 등의 응용 프로그램에서 폰트 파일을 사용할 수 있다.
일 양상에 따른 폰트 매니저(300)는 복수의 폰트 파일들 중에서 사용자에 의해 합성 재료 폰트들로 선택된 서로 다른 문자 폰트들을 합성하여 하나의 합성 폰트 파일을 생성하며, 생성된 합성 폰트 파일을 OS에 등록한다. 추가적인 양상에 따른 폰트 매니저(300)는 합성 폰트 파일을 다른 사용자도 사용할 수 있도록 폰트 합성 정보를 폰트 서버(110)로 전송하여 공유할 수 있으며, 폰트 서버(110)로부터 폰트 합성 정보를 수신하고 이를 이용하여 합성 폰트 파일을 생성하여 OS 에 등록할 수 있다.
한편, 잘 알려진 바와 같이, 폰트 파일 내에는 폰트 파일을 구성하는 여러 정보 테이블이 있다. 그리고 일 실시예에 따른 폰트 합성에는 표 1과 같은 테이블이 필요하다.
CMAP 테이블 모든 글자는 각각의 글자에 대응되는 Unicode를 갖고 있으며, 각 글자의 Unicode와 각 글자의 디자인 단위인 Glyph 사이의 매핑 정보를 저장하는 테이블
LOCA 테이블 CMAP 테이블에서 매핑된 Glyph 데이터 각각의 일련번호가 GLYF Table 내 어느 곳에 위치하는지 위치 정보를 저장하는 테이블
GLYF 테이블 Glyph 데이터가 저장되어 있는 테이블(Glyph 데이터가 순서대로 저장되어 있음)
OS/2 테이블 Windows 및 OS/2에서 사용되는 여러 데이터를 저장하는 테이블
NAME 테이블 폰트의 이름 정보를 저장하는 테이블로 언어/플랫폼/인코딩방식에 따른 이름을 저장하는 테이블
폰트 매니저(300)는 폰트 파일별로 CMAP 테이블과 LOCA 테이블과 GLYF 테이블 및 OS/2 테이블을 이용하여 합성 재료 폰트의 글립 데이터를 추출할 수 있으며, 추출된 글립 데이터를 폰트 합성에 사용할 수 있다. 그리고 NAME 테이블은 합성 폰트에 새로 부여되는 폰트 이름을 저장하는데 이용된다.
도 2는 일 실시예에 따른 사용자 디바이스 블록도이다. 도 2에 도시된 바와 같이, 사용자 디바이스(200)는 입력부(210)와 표시부(220)와 통신부(230)와 저장부(240) 및 제어부(250)를 포함할 수 있다. 입력부(210)는 사용자 입력 인터페이스를 제공하는 구성으로서, 키 입력 수단과 터치 패널 중 적어도 하나를 포함할 수 있다. 표시부(220)는 사용자로의 시각적 출력을 위한 디스플레이로서, OLED(Organic Light Emitting Diodes), TFT-LCD(Thin Film Transistor - Liquid Crystal Disaply) 등을 예로 들 수 있다. 터치 패널과 디스플레이는 일체로 결합되어 터치스크린 형태로 제공될 수도 있다. 통신부(230)는 하나 이상의 통신 프로토콜을 지원한다. 예를 들어, 통신부(230)는 TCP/IP, IPX, SPX, NetBIOS, 이더넷, ARCNET, Fiber Distributed Date Interface(FDDI), IEEE 802.11, IEEE 802.11a 및 직접 동기화 연결 등의 통신 프로토콜들 중 적어도 일부를 지원한다. 통신부(230)는 이 같은 통신 프로토콜을 이용하여 통신 네트워크를 통해 폰트 서버(110)와 데이터를 송수신할 수 있다. 저장부(240)는 명령어, 데이터 및 프로그램 등을 저장하는 저장 매체로서, 하나 이상의 메모리를 포함하여 구성될 수 있다. 이 같은 저장부(240)에는 복수의 폰트 파일들이 저장된다. 제어부(250)는 하나 이상의 프로세서를 포함하는 하드웨어와 OS를 포함하여 이루어질 수 있다. 또한, 제어부(250)는 폰트 매니저(300)를 포함할 수 있다. 폰트 매니저(300)는 저장부(240)에 저장되어 있을 수 있으며, 제어부(250)에 의해 로딩 및 실행되어 폰트 매니저(300)의 소프트웨어적 기능 모듈들의 기능들을 수행할 수 있다.
도 3은 일 실시예에 따른 폰트 매니저 블록도이며, 도 4는 일 실시예에 따른 폰트 합성 및 공유 설명을 위한 참조도이다. 도 3에 도시된 바와 같이, 폰트 매니저(300)는 폰트 합성부(310)와 폰트 등록부(320)를 포함하며, 폰트 공유부(330)를 더 포함할 수 있다. 폰트 합성부(310)는 각각이 복수의 문자 폰트들을 포함하는 복수의 폰트 파일들 중에서 합성 재료 폰트로써 선택된 서로 다른 문자 폰트들을 합성하여 합성 폰트 파일을 생성한다. 예를 들어, 사용자(1)는 A 폰트 파일에서는 A 한글 폰트(10)를 합성 재료 폰트로 선택하고, B 폰트 파일에서는 B 영문자 폰트(20)를 합성 재료 폰트로 선택하며, C 폰트 파일에서는 C 숫자 폰트(30)를 합성 재료 폰트로 선택한다. 그 외에 D 한자 폰트, E 일본어 폰트, F 특수문자 폰트 , G 구두점 폰트 등과 같이 합성하고자 하는 문자 폰트가 더 있을 경우에는 추가 선택이 가능함은 물론이다. 사용자(1)에 의해 합성 재료 폰트들이 선택되면, 폰트 합성부(310)는 그 합성 재료 폰트들을 합성하며 이에 의해 합성 폰트(40)가 만들어진다. 그리고 폰트 등록부(320)는 폰트 합성부(310)에 의해 생성된 합성 폰트 파일을 저장부(240)에 새로이 저장하며, 그 합성 폰트를 운영체제에 등록한다. 이에 따라, 사용자(1)는 응용 프로그램에서 합성 폰트를 사용할 수 있게 된다.
일 양상에 따른 폰트 합성부(310)는 합성 재료 폰트들(10, 20, 30) 중에서 어느 하나의 합성 재료 폰트를 기본 재료 폰트로 사용한다. 기본 재료 폰트는 미리 지정되어 있을 수 있으며, 한글 폰트가 기본 재료 폰트로 지정되어 있을 수 있다. 이하에서는 편의상 A 한글 폰트(10)가 기본 재료 폰트인 것으로 한정하여 설명한다. 폰트 합성부(310)는 A 한글 폰트(10)가 포함된 폰트 파일, 즉 A 폰트 파일을 폰트 합성용으로 사용하기 위해 복사하며, 나머지 합성 재료 폰트들(20, 30)의 글립 데이터를 폰트 합성용으로 복사된 A 폰트 파일의 해당 글립 데이터 위에 오버라이팅(overwriting)하여 합성 폰트(40)를 생성한다. 즉, 복사된 A 폰트 파일의 영문자 글립 데이터 상에 B 영문자 폰트(20)의 글립 데이터를 덮어쓰고, 복사된 A 폰트 파일의 숫자 글립 데이터 상에 C 숫자 폰트(30)의 글립 데이터를 덮어쓰는 것이다. 참고로, 상술한 바와 같이, 합성 재료 폰트들의 글립 데이터는 폰트 파일별로 CMAP 테이블과 LOCA 테이블과 GLYF 테이블 및 OS/2 테이블을 이용하여 추출 가능하다. 그리고 이와 같이 폰트 합성부(310)에 의해 복사되고 갱신된 A 폰트 파일이 바로 합성 폰트 파일이다.
그런데 합성 폰트(40)의 A 한글 폰트(10)와 B 영문자 폰트(20) 및 C 숫자 폰트(30)는 서로 다른 폰트인 바, 폰트 합성 과정에서 폰트 사이즈와 위치 조정을 통해 균형을 맞추는 것이 바람직하다. 이를 위해, 폰트 합성부(310)는 A 한글 폰트(10)를 기준으로 B 영문자 폰트(20)와 C 숫자 폰트(30)의 글립 데이터를 보정할 수 있다. 보정 대상은 글립 사이즈와 글립 내 포인트 위치이다. 일 실시예에 있어서, 폰트 합성부(310)는 B 영문자 폰트(20)와 C 숫자 폰트(30) 각각의 글립 사이즈 보정 비율을 계산하고, B 영문자 폰트(20)와 C 숫자 폰트(30) 각각의 베이스라인 보정 비율을 계산하며, 계산 결과를 가지고 B 영문자 폰트(20)와 C 숫자 폰트(30)의 글립 사이즈와 글립 내 모든 포인트 위치를 조정한다.
먼저, 글립 사이즈 보정 비율 계산 방식의 예에 대해 설명한다. 폰트 합성부(310)는 A 한글 폰트(10)의 줄높이(Line Height) 대비 B 영문자 폰트(20)의 줄높이를 비교하여 B 영문자 폰트(20)의 글립 사이즈 보정 비율을 산정한다. 또한, 폰트 합성부(310)는 A 한글 폰트(10)의 줄높이 대비 C 숫자 폰트(30)의 줄높이를 비교하여 C 숫자 폰트(30)의 글립 사이즈 보정 비율을 산정한다. 그리고 글립 사이즈 보정 비율 산정을 위한 줄높이 정보는 각 폰트 파일의 OS/2 테이블에 있는 Ascender, Descender, Line Gap 정보를 합하여 계산함에 의해 얻어질 수 있다.
다음으로, 베이스라인 보정 비율 계산 방식의 예에 대해 설명한다. 폰트 합성부(310)는 B 영문자 폰트(20)와 C 숫자 폰트(30) 각각의 베이스라인 자동 보정을 위한 대표 글립을 선택한다. 영문자 폰트의 경우에는 ‘A’글립을 대표 글립으로 사용하며, 숫자 폰트의 경우에는 ‘1’글립을 대표 글립으로 사용할 수 있다. 이 같은 대표 글립은 문자 폰트별로 미리 정해져 있을 수 있다. 폰트 합성부(310)는 A 한글 폰트(10)의 베이스라인과 ‘A’글립의 최하단 좌표의 높이차를 비교하여 B 영문자 폰트(20)의 베이스라인 보정 비율을 산정한다. 또한, 폰트 합성부(310)는 A 한글 폰트(10)의 베이스라인과 ‘1’글립의 최하단 좌표의 높이차를 비교하여 C 숫자 폰트(30)의 베이스라인 보정 비율을 산정한다.
이 같이 글립 사이즈 보정 비율 계산과 베이스라인 보정 비율 계산이 완료되면, 폰트 합성부(310)는 B 폰트 파일로부터 추출된 B 영문자 글립 데이터를 복사된 A 폰트 파일의 영문자 글립 데이터 상에 덮어쓴다. 이 과정에서, 폰트 합성부(310)는 계산된 글립 사이즈 보정 비율만큼 B 영문자의 글립 사이즈를 조정하며, 계산된 베이스라인 보정 비율만큼 B 영문자의 글립 내 모든 포인트 위치를 조정한다. 또한, 폰트 합성부(310)는 C 폰트 파일로부터 추출된 C 숫자 글립 데이터를 복사된 A 폰트 파일의 숫자 글립 데이터 상에 덮어쓴다. 이 과정에서, 폰트 합성부(310)는 계산된 글립 사이즈 보정 비율만큼 C 숫자의 글립 사이즈를 조정하며, 계산된 베이스라인 보정 비율만큼 C 숫자의 글립 내 모든 포인트 위치를 조정한다.
추가로, 폰트 합성부(310)는 자동 보정된 B 영문자 폰트 및/또는 C 숫자 폰트에 대한 사용자(1)의 수동 보정 입력에 따라 해당 폰트의 글립사이즈 보정 비율 및/또는 베이스라인 보정 비율을 산정하며, 그 산정된 값에 따라 추가 보정할 수 있다. 즉, 자동 보정 결과가 충분히 흡족하지 않은 경우, 사용자는 자동 보정에 더해 수동 보정을 위한 입력을 할 수 있는 것이다.
위의 과정이 완료되면, 폰트 합성부(310)는 합성 폰트(40)의 LOCA 테이블 정보를 새로이 정렬할 수 있다. 그 이유는 복사된 A 폰트 파일에 합쳐지는 B 영문자와 C 숫자의 글립 데이터의 전체 사이즈가 A 폰트 파일에 원래 있던 A 영문자와 및 C 숫자의 글립 데이터의 전체 사이즈와 상이할 수 있기 때문이다. 따라서, 이러한 경우 폰트 합성부(310)는 LOCA 테이블의 위치 정보를 새로이 정렬한다. 그리고 이상의 과정을 통해 합성 폰트(40)가 만들어지면, 폰트 합성부(310)는 합성 폰트 파일의 NAME 테이블에 새로운 폰트의 이름을 설정한다. 폰트 합성부(310)는 사용자에 의해 입력된 폰트 이름을 합성 폰트 파일의 NAME 테이블에 설정할 수 있다. 이후, 폰트 합성부(310)는 합성 폰트 파일을 저장부(240)에 저장 및 OS에 등록한다.
추가로, 폰트 합성부(310)는 합성 폰트의 공유를 위해 폰트 합성 정보를 생성할 수 있다. 폰트 합성 정보에는 합성 재료 폰트 리스트가 포함된다. 합성 재료 폰트 리스트는 합성 재료 폰트명 또는 기타 합성 재료 폰트를 식별할 수 있는 고유 데이터로 이루어진 것일 수 있다. 추가로, 폰트 합성 정보에는 기본 재료 폰트 정보와, 기본 재료 폰트 대비 합성 재료 폰트별 글립 사이즈 보정 비율과 베이스라인 보정 비율 정보가 포함된다. 사용자가 수동 보정을 수행한 경우, 폰트 합성 정보에 포함된 기본 재료 폰트 대비 합성 재료 폰트별 글립 사이즈 보정 비율과 베이스라인 보정 비율에 대한 정보는 수동 보정 비율도 함께 반영된 것일 수 있다. 이 같은 폰트 합성 정보는 폰트 공유를 위해 사용된다. 또한, 폰트 합성 정보는 합성 폰트 파일에도 포함될 수 있는데, 테이블이 새로 정의되어 그 테이블에 폰트 합성 정보가 저장될 수 있다. 여기서, 폰트 합성 정보가 저장되는 테이블을 SDCF(SanDoll Composite Font) 테이블이라 할 수 있다. 추가로, 폰트 합성 정보에는 합성 폰트명도 포함될 수 있다. 다만, 합성 폰트명은 SDCF 테이블이 아니라 NAME 테이블에 저장된다.
한편, 폰트 공유부(330)는 합성 폰트 공유부(331)와 합성 폰트 재현부(332)를 포함할 수 있다. 합성 폰트 공유부(331)는 사용자(1)의 합성 폰트(40)를 타 사용자(2)가 공유할 수 있도록 하기 위해 폰트 합성 정보를 폰트 서버(110)로 전송한다. 일 실시예에 있어서, 합성 폰트 공유부(331)는 합성 폰트 파일의 SDCF 테이블과 NAME 테이블을 조회하여 얻어진 폰트 합성 정보를 폰트 서버(110)로 전송한다. 이에 폰트 서버(110)는 폰트 합성 정보를 데이터베이스(120)에 저장한다. 데이터베이스(120)에 저장된 폰트 합성 정보는 비밀 공유, 전체 공유 또는 그룹 공유가 가능하다. 비밀 공유는 사용자에 의해 지정된 타 사용자만이 공유할 수 있도록 하는 것이고, 전체 공유는 모든 사용자들이 공유할 수 있도록 하는 것이며, 그룹 공유는 특정 그룹에 속한 사용자들만이 공유할 수 있도록 하는 것이다.
합성 폰트 재현부(332)는 폰트 서버(110)로부터 데이터베이스(120)에 저장된 폰트 합성 정보를 수신하며, 수신된 폰트 합성 정보를 가지고 합성 폰트를 재현할 수 있다. 합성 폰트 재현부(332)는 폰트 합성 정보의 합성 재료 폰트 리스트를 확인하고, 그 리스트에 속한 합성 재료 폰트들을 가지고 합성 폰트를 생성한다. 만일 합성 재료 폰트가 저장부(240)에 저장되어 있지 않을 경우에, 합성 폰트 재현부(332)는 해당 합성 재료 폰트를 폰트 서버(110)로부터 다운로드한 후에 합성 폰트를 생성할 수 있다. 폰트 합성 정보에 기본 재료 폰트 정보와 기본 재료 폰트 대비 합성 재료 폰트별 글립 사이즈 보정 비율과 베이스라인 보정 비율 정보도 포함되어 있는 경우, 합성 폰트 재현부(332)는 그 정보에 따라 해당 합성 재료 폰트들의 글립 사이즈와 글립 내 포인트 위치를 자동으로 보정한다. 합성 폰트 재현부(332)의 합성 폰트 생성 방식은 상술한 폰트 합성과 동일하며, 다만 이미 주어진 폰트 합성 정보를 가지고 합성 폰트를 생성한다는 점만 상이하다. 이러한 점에서, 합성 폰트 재현부(332)에 의해 생성된 합성 폰트를 폰트 합성부(310)에 의해 생성된 합성 폰트와 구별하여 재현 합성 폰트라 한다. 재현 합성 폰트는 폰트 등록부(320)에 의해 저장부(240)에 저장 및 운영체제에 등록된다.
이에 따르면, 타 폰트 매니저(300-1)는 데이터베이스(120)에 저장된 사용자(1)의 폰트 합성 정보를 폰트 서버(110)에 검색 요청할 수 있으며, 폰트 서버(110)로부터 검색된 폰트 합성 정보를 수신하여 재현 합성 폰트(50)를 생성할 수 있다. 즉, 타 사용자(2)는 사용자(1)의 합성 폰트(40)와 동일한 재현 합성 폰트(50)를 생성하여 사용할 수 있는 것이다. 반대로, 사용자(1) 역시 타 사용자(2)가 만든 합성 폰트를 재현하여 사용할 수 있음은 물론이다.
폰트 합성 정보를 검색하는 방법에 대해 설명한다. 일 실시예에 있어서, 사용자는 폰트 매니저(300)에 폰트명을 입력하여 폰트 서버(110)로 폰트 합성 정보 검색을 요청한다. 이에 폰트 서버(110)는 폰트 매니저(300)로부터 수신된 폰트명과 일치하는 합성 폰트명을 검색하며, 검색에 성공할 경우 해당 폰트 합성 정보를 폰트 매니저(300)로 전송할 수 있다. 다른 실시예에 있어서, 사용자는 합성 폰트에 사용된 합성 재료 폰트명을 입력하여 폰트 서버(110)로 폰트 합성 정보 검색을 요청한다. 이에 폰트 서버(110)는 폰트 매니저(300)로부터 수신된 합성 재료 폰트명을 가지고 데이터베이스(120)에 저장된 폰트 합성 정보들 각각의 합성 재료 폰트 리스트를 검색하며, 검색에 성공할 경우 해당 폰트 합성 정보를 폰트 매니저(300)로 전송할 수 있다.
도 5는 일 실시예에 따른 폰트 합성 방법 흐름도이다. 먼저 각각이 문자 폰트들을 포함하는 복수의 폰트 파일들 중에서 합성 재료 폰트들이 사용자에 의해 선택된다. 일관된 설명을 위해, A 폰트 파일과 B 폰트 파일 및 C 폰트 파일에서 각각 A 한글 폰트와 B 영문자 폰트 및 C 숫자 폰트가 합성 재료 폰트들로 선택된 것으로 가정한다. 그리고 기본 재료 폰트는 한글 폰트인 것으로 한다. 폰트 매니저(300)는 A 한글 폰트와 B 영문자 폰트 및 C 숫자 폰트를 합성하여 합성 폰트 파일을 생성하며(S100 내지 S150), 생성된 합성 폰트 파일을 메모리에 저장 및 OS에 등록한다(S160).
합성 폰트 파일 생성 단계에 대해 구체적으로 설명한다. 폰트 매니저(300)는 기본 재료 폰트인 A 한글 폰트가 속한 A 폰트 파일 전체를 폰트 합성용으로 사용하기 위해 복사한다(S100). 그리고 A 한글 폰트를 제외한 나머지 B 영문자 폰트와 C 숫자 폰트 각각의 글립 데이터로 복사된 A 폰트 파일을 갱신한다(S110 내지 S150). 갱신된 A 폰트 파일이 바로 합성 폰트 파일이 되며, 이 합성 폰트 파일은 S160에서 메모리에 저장 및 OS에 등록된다.
폰트 매니저(300)는 A 한글 폰트를 기준으로 B 영문자 폰트와 C 숫자 폰트 각각에 대해 글립 사이즈 및 베이스라인 보정 비율을 계산한다(S110). 그리고 B 영문자 폰트의 글립 데이터와 C 숫자 폰트의 글립 데이터를 복사된 A 폰트 파일에 삽입하는데, 복사된 A 폰트 파일의 영문자 글립 데이터 상에 B 영문자 폰트의 글립 데이터를 덮어쓰고, 복사된 A 폰트 파일의 숫자 글립 데이터 상에 C 숫자 폰트의 글립 데이터를 덮어쓰는 것이다(S120). S120 과정에서, 폰트 매니저(300)는 B 영문자 폰트와 C 숫자 폰트의 글립 사이즈 및 글립 내 포인트 위치를 S200에서 계산된 보정 비율에 맞게 보정한다. 그 다음, 폰트 매니저(300)는 LOCA 테이블 데이터를 정렬한다(S130). 정렬 이유는 상술한 바와 같으며, 생략될 수 있다.
이후, 폰트 매니저(300)는 합성 폰트 파일, 즉 복사된 후 갱신된 A 폰트 파일의 NAME 테이블에 사용자에 의해 지정된 새로운 이름으로 변경한다(S140). 이에 의해, 합성 폰트명이 설정된다. 추가로, 폰트 매니저(300)는 SDCF 테이블을 생성할 수 있다(S150). SDCF 테이블에는 합성 폰트 파일을 생성하는데 사용되는 합성 재료 폰트 리스트와 기본 재료 폰트 정보 및 기본 재료 폰트 대비 합성 재료 폰트별 글립 사이즈 보정 비율과 베이스라인 보정 비율 정보가 포함된다. 합성 폰트를 공유하지 않고자 할 경우에는 S150은 생략될 수 있다.
도 6은 일 실시예에 따른 폰트 공유를 위한 폰트 합성 정보 제공 흐름도이다. 폰트 매니저(300)는 합성 폰트 파일의 SDCF 테이블에 저장된 폰트 합성 정보를 추출하며, NAME 테이블에 저장된 합성 폰트명을 추출한다(S200). 그리고 추출된 합성 폰트명을 추출된 폰트 합성 정보에 포함시켜 폰트 서버(110)로 전송한다(S210). 이에 폰트 서버(110)는 폰트 합성 정보를 수신하여 데이터베이스(120)에 저장한다. 이에 따라, 데이터베이스(120)에는 한 명 또는 그 이상의 사용자들에 의해 생성된 합성 폰트들에 대한 폰트 합성 정보들이 저장되어 공유되게 된다.
도 7은 일 실시예에 따른 폰트 공유를 위한 재현 합성 폰트 생성 흐름도이다. 폰트 매니저(300)는 폰트 서버(110)로 폰트 합성 정보 검색을 요청한다(S300). 검색 요청에 따라, 폰트 서버(110)는 해당 폰트 합성 정보가 데이터베이스(120)에 저장되어 있는지 검색을 수행하며, 검색될 경우 그 폰트 합성 정보를 폰트 매니저(300)로 전송한다. 폰트 매니저(300)는 폰트 서버(110)로부터 폰트 합성 정보를 수신하며, 수신된 폰트 합성 정보를 이용하여 재현 합성 폰트를 생성한다(S310)(S320). 그리고 생성된 재현 합성 폰트 파일을 메모리에 저장 및 OS에 등록한다(S330).
도 6과 도 7에 따르면, 서로 다른 사용자들이 합성 폰트를 공유할 수 있게 된다. 예를 들어, A 사용자가 합성 폰트를 사용하여 제작한 문서를 B 사용자에게 전달하였을 경우, B 사용자는 A 사용자가 공유해 놓은 폰트 합성 정보를 가지고 재현 합성 폰트를 생성하여 OS 등록함에 의해 해당 문서가 제대로 표시되도록 할 수 있다.
한편, 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
[부호의 설명]
100 : 폰트 서버 시스템 110 : 폰트 서버
120 : 데이터베이스 200 : 사용자 디바이스
210 : 입력부 220 : 표시부
230 : 통신부 240 : 저장부
250 : 제어부 300 : 폰트 매니저
310 : 폰트 합성부 320 : 폰트 등록부
330 : 폰트 공유부 331 : 합성 폰트 공유부
332 : 합성 폰트 재현부

Claims (20)

  1. 컴퓨팅 디바이스에 설치 및 실행되어 폰트 서비스를 제공하는 폰트 서비스 프로그램에 있어서,
    각각이 복수의 문자 폰트들을 포함하는 복수의 폰트 파일들 중에서 합성 재료 폰트로 선택된 서로 다른 문자 폰트들을 합성하여 합성 폰트 파일을 생성하는 폰트 합성부; 및
    합성 폰트를 운영체제에 등록하는 폰트 등록부;
    를 포함하는 폰트 서비스 프로그램.
  2. 제 1 항에 있어서,
    폰트 합성부는 합성 재료 폰트들 중에서 어느 하나인 기본 재료 폰트를 기준으로 나머지 합성 재료 폰트의 글립 사이즈와 글립 내 포인트 위치를 자동 보정하는 폰트 서비스 프로그램.
  3. 제 2 항에 있어서,
    폰트 합성부는 기본 재료 폰트를 기준으로 나머지 합성 재료 폰트별로 글립 사이즈 보정 비율과 베이스라인 보정 비율을 산정하고, 합성 재료 폰트별로 산정된 글립사이즈 보정 비율과 베이스라인 보정 비율에 따라 해당 합성 재료 폰트의 글립사이즈 및 글립 내 포인트 위치를 자동 보정하는 폰트 서비스 프로그램.
  4. 제 3 항에 있어서,
    폰트 합성부는 자동 보정 후에 사용자의 수동 보정을 위한 입력에 따라 합성 재료 폰트별로 글립사이즈 보정 비율과 베이스라인 보정 비율 중 적어도 하나를 추가 산정하여 보정하는 폰트 서비스 프로그램.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    폰트 합성부는 기본 재료 폰트가 포함된 폰트 파일을 폰트 합성용으로 복사하며, 나머지 합성 재료 폰트의 글립 데이터로 복사된 폰트 파일을 갱신함에 의해 합성 폰트 파일을 생성하는 폰트 서비스 프로그램.
  6. 제 2 항에 있어서,
    합성 재료 폰트 리스트와 합성 재료 폰트별 글립 사이즈 보정 비율 및 베이스라인 보정 비율을 포함한 폰트 합성 정보를 폰트 서버로 전송하는 합성 정보 공유부를 포함하는 폰트 공유부;
    를 더 포함하는 폰트 서비스 프로그램.
  7. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 폰트 공유부는 :
    클라우드 서버로부터 복수의 폰트 합성 정보들 중에서 어느 하나의 폰트 합성 정보를 획득하고, 획득된 폰트 합성 정보에 포함된 합성 재료 폰트 리스트에 속한 합성 재료 폰트들을 합성하여 재현 합성 폰트 파일을 생성하되, 합성 재료 폰트 리스트에 속한 합성 재료 폰트별 글립 사이즈 보정 비율 및 베이스라인 보정 비율에 따라 해당 합성 재료 폰트의 글립 사이즈와 글립 내 포인트 위치를 자동 보정하는 합성 폰트 재현부;
    를 더 포함하는 폰트 서비스 프로그램.
  8. 각각이 복수의 문자 폰트들을 포함하는 복수의 폰트 파일들 중에서 합성 재료 폰트로 선택된 서로 다른 문자 폰트들을 합성하여 합성 폰트 파일을 생성하는 폰트 합성 단계; 및
    합성 폰트를 컴퓨팅 디바이스의 운영체제에 등록하는 단계;
    를 포함하는 폰트 합성 및 공유 방법.
  9. 제 8 항에 있어서, 폰트 합성 단계는 :
    합성 재료 폰트들 중에서 어느 하나인 기본 재료 폰트가 포함된 폰트 파일을 폰트 합성용으로 복사하는 단계; 및
    나머지 합성 재료 폰트의 글립 데이터로 복사된 폰트 파일을 갱신함에 의해 합성 폰트 파일을 생성하는 단계;
    를 포함하는 폰트 합성 및 공유 방법.
  10. 제 9 항에 있어서, 합성 폰트 파일 생성 단계는 :
    기본 재료 폰트를 기준으로 나머지 합성 재료 폰트의 글립 사이즈와 글립 내 포인트 위치를 자동 보정하는 단계;
    를 포함하는 폰트 합성 및 공유 방법.
  11. 제 10 항에 있어서, 자동 보정 단계는 :
    기본 재료 폰트를 기준으로 나머지 합성 재료 폰트별로 글립 사이즈 보정 비율을 산정하는 단계;
    기본 재료 폰트를 기준으로 나머지 합성 재료 폰트별로 베이스라인 보정 비율을 산정하는 단계;
    합성 재료 폰트별로 산정된 글립사이즈 보정 비율에 따라 해당 합성 재료 폰트의 글립사이즈를 보정하는 단계; 및
    합성 재료 폰트별로 산정된 베이스라인 보정 비율에 따라 해당 합성 재료 폰트의 글립 내 포인트 위치를 보정하는 단계;
    를 포함하는 폰트 합성 및 공유 방법.
  12. 제 11 항에 있어서, 합성 폰트 파일 생성 단계는 :
    자동 보정 후에 사용자의 수동 보정을 위한 입력에 따라 합성 재료 폰트별로 글립사이즈 보정 비율과 베이스라인 보정 비율 중 적어도 하나를 추가 산정하여 보정하는 추가 보정 단계;
    를 더 포함하는 폰트 합성 및 공유 방법.
  13. 제 11 항에 있어서,
    합성 재료 폰트 리스트와 합성 재료 폰트별 글립 사이즈 보정 비율 및 베이스라인 보정 비율을 포함한 폰트 합성 정보를 폰트 서버로 전송하는 단계를 포함하는 폰트 공유 단계;
    를 더 포함하는 폰트 합성 및 공유 방법.
  14. 제 13 항에 있어서, 합성 폰트 공유 단계는 :
    클라우드 서버로부터 복수의 폰트 합성 정보들 중에서 어느 하나의 폰트 합성 정보를 획득하고, 획득된 폰트 합성 정보에 포함된 합성 재료 폰트 리스트에 속한 합성 재료 폰트들을 합성하여 재현 합성 폰트 파일을 생성하되, 합성 재료 폰트 리스트에 속한 합성 재료 폰트별 글립 사이즈 보정 비율 및 베이스라인 보정 비율에 따라 해당 합성 재료 폰트의 글립 사이즈와 글립 내 포인트 위치를 자동 보정하는 단계;
    를 더 포함하는 폰트 합성 및 공유 방법.
  15. 제 8 항 내지 제 14 항 중 어느 한 항에 따른 폰트 합성 및 공유 방법을 컴퓨터에서 실행하는 컴퓨터 프로그램을 기록한 기록매체.
  16. 각각이 복수의 문자 폰트들을 포함하는 복수의 폰트 파일들이 저장된 파일 저장부; 및
    파일 저장부에 저장된 복수의 폰트 파일들 중에서 합성 재료 폰트로 선택된 서로 다른 문자 폰트들을 합성하여 합성 폰트 파일을 생성하는 폰트 합성부와, 생성된 합성 폰트를 운영체제에 등록하는 폰트 등록부를 포함하는 제어부;
    를 포함하는 폰트 합성 및 공유 장치.
  17. 제 16 항에 있어서,
    폰트 합성부는 합성 재료 폰트들 중에서 어느 하나인 기본 재료 폰트가 포함된 폰트 파일을 폰트 합성용으로 복사하며, 나머지 합성 재료 폰트의 글립 데이터로 복사된 폰트 파일을 갱신함에 의해 합성 폰트 파일을 생성하는 폰트 합성 및 공유 장치.
  18. 제 17 항에 있어서,
    폰트 합성부는 기본 재료 폰트를 기준으로 나머지 합성 재료 폰트별로 글립 사이즈 보정 비율과 베이스라인 보정 비율을 산정하고, 합성 재료 폰트별로 산정된 글립사이즈 보정 비율과 베이스라인 보정 비율에 따라 해당 합성 재료 폰트의 글립사이즈 및 글립 내 포인트 위치를 자동 보정하는 폰트 합성 및 공유 장치.
  19. 제 18 항에 있어서, 제어부는 :
    합성 재료 폰트 리스트와 합성 재료 폰트별 글립 사이즈 보정 비율 및 베이스라인 보정 비율을 포함한 폰트 합성 정보를 폰트 서버로 전송하는 합성 정보 공유부를 포함하는 폰트 공유부;
    를 더 포함하는 폰트 합성 및 공유 장치.
  20. 제 19 항에 있어서, 폰트 공유부는 :
    클라우드 서버로부터 복수의 폰트 합성 정보들 중에서 어느 하나의 폰트 합성 정보를 획득하고, 획득된 폰트 합성 정보에 포함된 합성 재료 폰트 리스트에 속한 합성 재료 폰트들을 합성하여 재현 합성 폰트 파일을 생성하되, 합성 재료 폰트 리스트에 속한 합성 재료 폰트별 글립 사이즈 보정 비율 및 베이스라인 보정 비율에 따라 해당 합성 재료 폰트의 글립 사이즈와 글립 내 포인트 위치를 자동 보정하는 합성 폰트 재현부;
    를 더 포함하는 폰트 합성 및 공유 장치.
PCT/KR2017/005346 2017-05-18 2017-05-23 폰트 합성 및 공유 시스템 WO2018212389A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0061717 2017-05-18
KR1020170061717A KR101976138B1 (ko) 2017-05-18 2017-05-18 폰트 합성 및 공유 시스템

Publications (1)

Publication Number Publication Date
WO2018212389A1 true WO2018212389A1 (ko) 2018-11-22

Family

ID=64274177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/005346 WO2018212389A1 (ko) 2017-05-18 2017-05-23 폰트 합성 및 공유 시스템

Country Status (2)

Country Link
KR (1) KR101976138B1 (ko)
WO (1) WO2018212389A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3876664B2 (ja) * 2001-08-20 2007-02-07 セイコーエプソン株式会社 フォントファイル作成装置、プログラム、および、記憶媒体
KR20080048157A (ko) * 2006-11-28 2008-06-02 송은아 사용자 폰트 생성 장치, 그 사용자 폰트 생성 방법 및사용자 폰트 서비스 제공 방법
JP4101491B2 (ja) * 2000-09-25 2008-06-18 アドビ システムズ, インコーポレイテッド 合成フォント編集装置、合成フォント編集プログラム及びそれを記録した記録媒体
KR20150082097A (ko) * 2014-01-06 2015-07-15 아카데미아 시니카 클라우드 기반 폰트 서비스 시스템
KR20170044864A (ko) * 2015-10-16 2017-04-26 넷마블게임즈 주식회사 폰트 파일 생성 서버 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101229164B1 (ko) 2012-06-08 2013-02-01 (주)정글시스템 네트워크를 통한 개인폰트 생성 방법 및 폰트 클라우드 서비스 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4101491B2 (ja) * 2000-09-25 2008-06-18 アドビ システムズ, インコーポレイテッド 合成フォント編集装置、合成フォント編集プログラム及びそれを記録した記録媒体
JP3876664B2 (ja) * 2001-08-20 2007-02-07 セイコーエプソン株式会社 フォントファイル作成装置、プログラム、および、記憶媒体
KR20080048157A (ko) * 2006-11-28 2008-06-02 송은아 사용자 폰트 생성 장치, 그 사용자 폰트 생성 방법 및사용자 폰트 서비스 제공 방법
KR20150082097A (ko) * 2014-01-06 2015-07-15 아카데미아 시니카 클라우드 기반 폰트 서비스 시스템
KR20170044864A (ko) * 2015-10-16 2017-04-26 넷마블게임즈 주식회사 폰트 파일 생성 서버 및 방법

Also Published As

Publication number Publication date
KR20180127577A (ko) 2018-11-29
KR101976138B1 (ko) 2019-05-08

Similar Documents

Publication Publication Date Title
US5446896A (en) Method and apparatus for inter-program communication
US7697000B2 (en) Method and apparatus for typographic glyph construction including a glyph server
US5877776A (en) Method and system for supporting multiple font formats by a font scaler sub-system
US4649513A (en) Apparatus and method for processing system printing data records on a page printer
US7064757B1 (en) Automatic synthesis of font tables for character layout
US5261079A (en) Interface for keyboard emulation provided by an operating system
US4870611A (en) Apparatus and method for system printing mode control
US6718519B1 (en) System and method for outputting character sets in best available fonts
US20070211062A1 (en) Methods and systems for rendering complex text using glyph identifiers in a presentation data stream
US6882353B2 (en) Transmission of locale information
US8407587B2 (en) System of processing a document targeted for one system on another system
US6813747B1 (en) System and method for output of multipart documents
US20020133637A1 (en) Method and apparatus for generating object-oriented world wide web pages
US20060005117A1 (en) Document processor, document processing method and storage medium storing document processing program
US20050094173A1 (en) Printing system that manages font resources using system independent resource references
AU2003200547A1 (en) Method for selecting a font
JPH10124495A (ja) 原稿テキスト生成処理装置及びそのプログラム記憶媒体
WO2005103894A1 (en) Multi-source, multi-destination data transfers
JP2017538193A (ja) プレビューにおけるネイティブ・ドキュメントのコメントの修正
CN108897541A (zh) 应用程序的视觉还原方法、装置、存储介质及终端
WO2017204368A1 (ko) 웹 기반의 스프레드시트 서비스 제공 장치 및 방법
US5831639A (en) Scanning display driver
US6760887B1 (en) System and method for highlighting of multifont documents
WO2018212389A1 (ko) 폰트 합성 및 공유 시스템
US7031002B1 (en) System and method for using character set matching to enhance print quality

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17909805

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17909805

Country of ref document: EP

Kind code of ref document: A1