WO2013191482A1 - 글리프 보간을 이용한 폰트 생성 장치 및 방법 - Google Patents

글리프 보간을 이용한 폰트 생성 장치 및 방법 Download PDF

Info

Publication number
WO2013191482A1
WO2013191482A1 PCT/KR2013/005435 KR2013005435W WO2013191482A1 WO 2013191482 A1 WO2013191482 A1 WO 2013191482A1 KR 2013005435 W KR2013005435 W KR 2013005435W WO 2013191482 A1 WO2013191482 A1 WO 2013191482A1
Authority
WO
WIPO (PCT)
Prior art keywords
glyph
basic
glyphs
font
generating
Prior art date
Application number
PCT/KR2013/005435
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 (주)한양정보통신
Priority to JP2014550036A priority Critical patent/JP5893755B2/ja
Priority to US14/350,721 priority patent/US20140285495A1/en
Priority to CN201380003927.4A priority patent/CN103959280B/zh
Publication of WO2013191482A1 publication Critical patent/WO2013191482A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion

Definitions

  • the present invention relates to a font generation and rendering method, and more particularly, to a font generation and rendering method by glyph interpolation.
  • Glyphs refer to specific shapes, designs, and expressions of letters, and also to specific graphical representations of elements of the language, such as specific fonts and fonts.
  • a font for displaying a character such as Korean requires a large number of glyphs.
  • fonts are created by a combination of phonemes, their shapes vary depending on how each phoneme is combined within a letter, and a plurality of glyphs are required to express each.
  • As a method for reducing the number of such glyphs an attempt has been made to reduce the number by dividing the glyphs into a plurality of groups and making only 2000-4000 glyphs representing each group.
  • the present invention is to solve the above problems, to provide a method for generating and rendering a font by glyph interpolation that can improve the consistency between the grapheme glyphs and efficiency of glyph generation by enabling efficient glyph generation The purpose.
  • the font generation method generating a first basic glyph as a basic type of letters or phonemes, at least one of the horizontal enlargement and vertical enlargement of the basic form Generating an applied second to a basic glyph (where a is an integer of 2 or more) and performing an interpolation operation using at least two of the first to a basic glyphs to form different shapes from the basic glyphs Generating interpolated glyphs and generating fonts using the basic glyphs and interpolated glyphs.
  • the font generation method further comprises the step of analyzing the information of the letters to implement the font, the interpolation operation by selecting at least two of the first to a basic glyphs according to the information analysis result By performing the interpolation glyph.
  • the second to a basic glyphs may include a second basic glyph to a fourth basic glyph, the second basic glyph is a horizontally enlarged glyph of the basic type, and the third basic glyph is the basic type Wherein the fourth basic glyph is the horizontal and vertical glyphs of the basic type.
  • the font generating apparatus for generating a font by using a plurality of glyphs and a plurality of basic glyphs for the implementation of the font in advance, the plurality of basic glyphs And a glyph generator configured to generate interpolated glyphs having a shape different from that of the basic glyphs by performing an interpolation operation on at least two selected basic glyphs, wherein the font generator includes the pre-generated basic glyphs and the interpolation operation.
  • the font is generated by using at least one of the interpolated glyphs performed by the method.
  • FIG. 1 is a block diagram illustrating an example of a general set of glyphs for a grapheme.
  • FIG. 2 is a block diagram illustrating an example of a set of glyphs according to an embodiment of the present invention for a grapheme.
  • FIG. 3 illustrates an interpolation operation according to an embodiment of the present invention for generating various types of glyphs.
  • FIG. 4 illustrates an interpolation operation according to another embodiment of the present invention for generating various types of glyphs.
  • 5A and 5B are block diagrams illustrating an apparatus for generating a font according to an embodiment of the present invention.
  • FIG. 6 is a block diagram illustrating a method of operating a font generating apparatus according to an embodiment of the present invention.
  • 7A to 7D illustrate an example of providing a user interface using a bounding box in generating interpolated glyphs.
  • FIG. 8 is a block diagram illustrating a font generating apparatus according to another exemplary embodiment of the present invention.
  • FIG. 9 is a block diagram illustrating a web font system according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a glyph generating method according to another exemplary embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a glyph generating method according to another exemplary embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating an example of a general set of glyphs for a grapheme.
  • the letters that can be implemented by one font may have various shapes.
  • the initial, neutral, and finality of each phoneme Glyphs for each are needed, and for any one herb, different types of glyphs are needed, depending on what neutral and finality the herb combines with.
  • FIG. 1 shows an example of a plurality of glyphs generated corresponding to the phoneme “”, and as shown, a plurality of similar glyphs are generated and included in a font generating apparatus, and for each letter represented by a font. By selecting any one of a plurality of previously stored glyphs, a font for the corresponding letter is generated.
  • a limitation arises in generating similar glyphs. Thus, even if a font to which the above-described glyphs are applied is generated, it is difficult to display delicate letters when expressing a letter according to the corresponding font.
  • FIG. 2 is a block diagram illustrating an example of a set of glyphs according to an embodiment of the present invention for a grapheme.
  • the glyph set 100 of FIG. 2 includes a plurality of glyphs corresponding to " ⁇ " as one phoneme of Korean.
  • Three or more basic glyphs of the glyph sets 100 illustrated in FIG. 2 may be previously generated and stored.
  • four basic glyphs 110, 120, 130, and 140 may be previously generated and stored in the font generating device. do.
  • the three types of consonants are “H,”, “B”, “H”, “B”, “H”, “H” and “B”. Only one design can be created, two for meeting letters and the other “ ⁇ ”.
  • the vowel phoneme only two designs with a support and two without a support can be made. In this case, only approximately 21 * 2 + 19 * 2 (approximately 80) basic glyphs can be designed.
  • a total of 320 basics including 80 basic glyphs of a horizontally enlarged form, 80 basic glyphs of a vertically enlarged form, and 80 basic glyphs of a horizontal / vertical form are enlarged horizontally. You can design glyphs.
  • all shapes of glyphs to be used for the current 11,172 characters can be generated.
  • the glyphs of all shapes may be generated by an interpolation operation using 320 basic glyphs, which will be described later.
  • the pre-stored basic glyphs 110 to 140 may be stored in order to implement fonts themselves, and may also be pre-stored to generate glyphs having different shapes.
  • the first basic glyph 110 corresponds to a basic glyph
  • the second basic glyph 120 may be a horizontally enlarged
  • 130 may be a vertical magnification of the first basic glyph 110
  • the fourth basic glyph 140 may be a horizontal / vertical enlarged glyph of the first basic glyph 110.
  • Each of the basic glyphs 110 to 140 may have coordinate information for displaying an actual letter to have a shape of a corresponding glyph. Accordingly, the second basic glyph 120 may have the same thickness as that of the first basic glyph 110 but may have coordinate information for displaying the character by being enlarged in the horizontal direction as a whole. Similarly, the third basic glyph 130 is enlarged in the vertical direction and the coordinate information for displaying the characters, and the fourth basic glyph 140 is expanded in the horizontal and vertical directions to display the coordinate information for displaying the characters. Can have.
  • the glyph illustrated in (a) is a glyph in a form in which the first basic glyph 110 is enlarged in the horizontal direction, which is generated by the interpolation operation of the first basic glyph 110 and the second basic glyph 120. Can be.
  • the shape of the glyph for representing each phoneme may vary, and when the phoneme “ ⁇ ” is to be expressed according to the glyph of (a), the first basic The glyph of (a) is generated by interpolating the glyph 110 and the second basic glyph 120. Since the glyph of (a) is generated by interpolation of the first basic glyph 110 and the second basic glyph 120, the coordinate information of the first basic glyph 110 and the coordinate information of the second basic glyph 120 may be determined. It may have coordinate information according to the result of the calculation.
  • the glyph of (b) may be generated by interpolating the first basic glyph 110 and the third basic glyph 130.
  • the glyph of (b) is also a glyph having a form between the basic basic glyph of " ⁇ " and the vertically enlarged basic glyph of " ⁇ ", wherein the coordinate information of the first basic glyph 110 and the third basic glyph 130 are defined. By calculating coordinate information of, coordinate information for displaying the glyph of (b) may be calculated.
  • the phoneme “” is to be expressed according to the glyph of (c)
  • the glyph of (c) may be generated by interpolating the first basic glyph 110 and the fourth basic glyph 140.
  • the aforementioned glyphs in FIG. 2 can be referred to as single glyphs as glyphs for any one phoneme. That is, the single glyph includes the first to fourth basic glyphs 110 to 140 described above, and is generated by interpolating at least two basic glyphs among the first to fourth basic glyphs 110 to 140. May comprise glyphs.
  • combination glyphs combining at least two phonemes may be generated, for example, by performing an interpolation operation based on the basic glyphs of each phoneme, and combining two or more single glyphs. Can be generated.
  • the font generating apparatus may generate a plurality of fonts, and a glyph generating method according to an embodiment of the present invention may be applied to each of the plurality of fonts.
  • an example of generating a glyph (interpolated glyph) by an interpolation operation (or an operation operation for interpolation) in addition to basic glyphs has been described. It can be provided as a graphical tool such as a bounding box. For example, a bounding box for each phoneme is provided, drag information of a bounding box by a user is input, and an interpolation glyph may be generated as an interpolation operation is performed based on the input drag information.
  • the interpolation operation is performed based on a plurality of coordinate information included in each glyph, not interpolation based on the line (or border) of the glyph, and thus basic glyph and interpolation are performed.
  • the thickness between the glyphs can be enlarged or reduced to the extent that glyphs of substantially the same or appropriate shape are produced. That is, when the modified glyph is generated by adjusting the enlargement / reduction of the glyph, the problem that the glyphs which are not suitable for the font generation may be improved as the thickness thereof becomes very thin or thick.
  • FIG. 3 illustrates an interpolation operation according to an embodiment of the present invention for generating various types of glyphs.
  • four basic glyphs are provided corresponding to any one phoneme
  • the first basic glyph 110 is a basic glyph
  • the second basic glyph 120 is a horizontally enlarged, first one of a basic glyph.
  • the three basic glyphs 130 are vertically enlarged type of the basic glyph
  • the fourth basic glyph 140 is a horizontal / vertical enlarged glyph of the basic glyph.
  • (M + 1) * (n + 1) glyphs may be generated by interpolation using the four basic glyphs.
  • the position of the first basic glyph 110 is (0,0)
  • the position of the second basic glyph 120 is (m, 0)
  • the position of the third basic glyph 130 is (0, n).
  • the position of the fourth basic glyph 140 may be defined as (m, n).
  • Each basic glyph may include coordinate information for displaying a letter according to its shape.
  • a combination form of a character of each phoneme may be analyzed to select a glyph for expressing the phoneme. For example, if the phoneme is represented by any one of the basic glyphs, the font of the corresponding phoneme may be implemented using the basic glyph without a separate interpolation operation. On the other hand, if it is necessary to express the corresponding phoneme according to other glyphs in addition to the basic glyphs, a necessary glyph is generated by interpolation using the basic glyphs, and the font of the corresponding phoneme may be implemented.
  • the position of the necessary glyph for the horizontal enlargement can be selected, which is (m0,0) as the position of the first basic glyph 110 and (m) as the position of the second basic glyph 120.
  • the position between, 0) can be selected.
  • a horizontally enlarged glyph corresponding to the selected position may be generated by interpolation using the first basic glyph 110 and the second basic glyph 120.
  • the position between (0,0) as the position of the first basic glyph 110 and (0, n) as the position of the third basic glyph 130 Can be selected.
  • a vertically enlarged glyph corresponding to the selected position may be generated by interpolation using the first basic glyph 110 and the third basic glyph 130.
  • a horizontal / vertically enlarged glyph corresponding to a position between (0,0) as the position of the first basic glyph 110 and (m, n) as the position of the fourth basic glyph 120 may be generated. Can be.
  • FIG. 3 only one representative coordinate has been described for one basic glyph, but embodiments of the invention need not be limited thereto.
  • a plurality of coordinate information may be included in each glyph to implement one glyph, and an interpolation glyph may be generated by performing interpolation operation by calculating coordinate information corresponding to each other of two or more basic glyphs during an interpolation operation. .
  • FIG. 4 illustrates an interpolation operation according to another embodiment of the present invention for generating various types of glyphs.
  • FIG. 4 an example of generating all glyphs using only basic glyphs of a basic type, a horizontal enlargement type, and a vertical enlargement type corresponding to any one element is illustrated.
  • the first basic glyph 110 is a basic glyph
  • the second basic glyph 120 is a horizontal enlarged type of the basic glyph.
  • the horizontally enlarged glyph of the first basic glyph 110 may be generated by interpolating the first basic glyph 110 and the second basic glyph 120.
  • the vertically enlarged glyphs of the first basic glyph 110 may be generated by interpolating the first basic glyph 110 and the third basic glyph 130.
  • the horizontal / vertical enlarged glyph of the first basic glyph 110 may be generated by interpolating all of the first basic glyph 110, the second basic glyph 120, and the third basic glyph 130. .
  • the horizontally and vertically enlarged glyphs of the first basic glyph 110 may correspond to the fourth basic glyph in the above-described embodiment, and in order to generate the same type of glyph as the fourth basic glyph in FIG. 4. Only the second basic glyph 120 and the third basic glyph 130 may be interpolated.
  • FIGS. 5A and 5B are block diagrams illustrating an apparatus for generating a font according to an embodiment of the present invention.
  • the block diagrams of FIGS. 5A and 5B block various functions for performing glyph generation in the font generating apparatus according to an embodiment of the present invention, and the various functions of FIGS. 5A and 5B are implemented in a device or software manner. It may be.
  • the font generating apparatus 1000 may include a controller 1100, a font generator 1200, a glyph generator 1300, a font transmitter 1400, and a database unit. (1500).
  • the database unit 1500 may include a font storage unit 1510 and a glyph storage unit 1520.
  • the controller 1100 performs a control operation for controlling the overall system of the font generating apparatus 1000. For example, by controlling the operation of the other various functional blocks shown in Figure 5a, or control the transmission of information between the respective functional blocks, and the glyph by the basic glyph generation and the interpolation operation of the basic glyphs according to an embodiment of the present invention An operation for controlling generation and font generation using the same can be performed.
  • the font generator 1200 may generate one or more fonts for displaying various languages, and may generate fonts using a plurality of glyphs in generating each font. As described above, when a letter is displayed according to a combination of phonemes, a font may be generated using glyphs for each phoneme, and a plurality of glyphs exist according to the form of the combination of phonemes in the letter. In any one phoneme, a plurality of glyphs may be applied differently to generate a font.
  • the glyph generator 1300 may generate glyphs according to the above-described embodiment of the present invention. For example, a plurality of basic glyphs may be pre-generated and stored in the system (or glyph storage unit 1520) corresponding to any one phoneme, and when glyphs having different shapes are needed when generating a font, glyph generation The unit 1300 may perform an interpolation operation using basic glyphs based on input information of a user, and generate glyphs (interpolated glyphs) having shapes different from the basic glyphs according to a result of the execution.
  • the generated basic glyphs may include a first basic glyph having a basic form of any one phoneme, a second basic glyph of a horizontal enlargement type of the basic form, a third basic glyph of the vertical enlargement type of the basic form, and a horizontal of the basic form / 4 may include the fourth basic glyph of the vertical expansion.
  • only the first to third basic glyphs may be generated corresponding to each phoneme, or another number of basic glyphs (eg, a larger number of basic glyphs) may be generated. Can be.
  • the glyph generator 1300 may generate various types of glyphs shown in FIG. 2 by performing an interpolation operation on at least two of the aforementioned basic glyphs.
  • the basic glyphs may be stored in the glyph storage unit 1520, and the glyph generating unit 1300 may perform an interpolation operation using the basic glyphs stored in the glyph storage unit 1520.
  • the font generator 1200 may generate a font using basic glyphs stored in the glyph storage unit 1520 or interpolated glyphs generated by the glyph generator 1300.
  • the font generated by the font generator 1200 may be stored in the font storage unit 1510.
  • the font transmitter 1400 may transmit a font to a font display device (not shown) through an external interface (eg, a network such as the Internet).
  • the font generating apparatus 1000 may be a web font server, and the font display apparatus that receives the font through the web network may be a web client.
  • the font generating apparatus 1000 may transmit the pre-generated font to the web client, or, when a font request is received from the web client, generate the font in real time and transmit the same.
  • the font generating apparatus 1000 generates various types of glyphs by using only a small number of glyphs, thereby reducing the time required for font production. Accordingly, even when generating a pre-stored font, it can be efficiently generated using only a small number of glyphs, and even when a font is produced and transmitted in real time, a font is generated without a large delay and provided to a web client. can do.
  • FIG. 5B is a block diagram illustrating an example embodiment of the glyph generator 1300 of FIG. 5A.
  • the glyph generator 1300 may include a basic glyph generator 1310, a letter information analyzer 1320, an interpolation processor 1330, and an interpolation glyph output unit 1340.
  • the basic glyph generator 1310 generates a plurality of basic glyphs corresponding to each letter or phoneme, and may generate, for example, any one basic type and basic glyphs that are horizontally and / or vertically enlarged.
  • the font information analyzer 1320 analyzes the letters to be implemented by the corresponding font and information of the phonemes included in each letter, and selects glyphs to be applied to the corresponding letter or the phoneme.
  • the interpolation processor 1330 performs an interpolation operation to generate a glyph for representing a corresponding letter or phoneme based on the analyzed character information.
  • the interpolation operation may be based on an interpolation operation using at least two of a plurality of previously generated basic glyphs.
  • the interpolated glyph is provided to the font generator 1200 by the interpolated glyph output unit 1340, and the font generator 1200 generates a font by using various glyphs.
  • 6 is a block diagram illustrating a method of operating a font generating apparatus according to an embodiment of the present invention. 6 illustrates an example in which letters are displayed according to a combination of phonemes and fonts are implemented using glyphs generated corresponding to each phoneme.
  • a first basic glyph of each phoneme is generated (S11).
  • the first basic glyph corresponds to the basic glyph of the corresponding phoneme.
  • second to ath basic glyphs related to the first basic glyph are generated.
  • the number of generated basic glyphs may be three, four, or more.
  • second to fourth basic glyphs associated with the first basic glyph may be generated.
  • the second basic glyph is the horizontal enlargement of the first basic glyph
  • the third basic glyph is the vertical enlargement of the first basic glyph
  • the fourth basic glyph is the horizontal / vertical enlargement of the first basic glyph.
  • each character information is analyzed during font production (S13).
  • the analyzing operation of the letter information may perform an operation of analyzing a phoneme included in the letter and an application position of the letter in the letter. Accordingly, glyphs of respective phonemes included in the corresponding letter may be selected, and the glyphs to be selected may be glyphs included in the first to fourth basic glyphs or modified glyphs of the first to fourth basic glyphs. have.
  • an interpolation processing operation using the basic glyph is performed (S14).
  • the interpolation processing operation is performed based on the embodiment in FIG. 2, so that various types of glyphs can be generated using the basic glyphs.
  • a font generation operation using the basic glyph and the interpolated glyph is performed and completed (S15).
  • 7A to 7D illustrate an example of providing a user interface using a bounding box in generating interpolated glyphs.
  • 7A and 7B show glyphs of " ⁇ " as the phonemes of Korean characters
  • 7C and d show the phonemes of " ⁇ " as the phonemes of Chinese characters.
  • one basic glyph is selected by a user from among a plurality of previously stored basic glyphs to generate an interpolated glyph.
  • the selected basic glyph may be defined as a master glyph, and according to the selection the master glyph is displayed in the first bounding box (A).
  • the user selects an edge or a vertex of the first bounding box A, and adjusts the bounding box by dragging it.
  • the bounding box adjusted by the user may be referred to as the second bounding box B, and information (eg, drag information) input by the user is analyzed inside the system.
  • the second bounding box B extends horizontally and vertically of the first bounding box A, and the shape of the glyph of the phoneme “” is correspondingly modified.
  • Shape-deformed glyphs may be stored as interpolated glyphs by a user's storage or the like command, thereby further generating and storing glyphs in the system.
  • At least one basic glyph may be further selected along with the previously selected master glyph to generate an interpolated glyph, and an interpolation operation using the master glyph and the selected basic glyph is performed.
  • One glyph is composed of a plurality of coordinates and may include information about the coordinates, and an interpolation operation is performed through a weighted operation on coordinate information corresponding to each other of a plurality of glyphs (including a master glyph and a basic glyph). Interpolation glyphs are generated with new coordinate information calculated according to the result of the operation.
  • the master glyph and the interpolated glyph may have substantially the same thickness, and the interpolated glyph may have a shape that is enlarged horizontally and vertically compared to the master glyph.
  • FIG. 7B shows an example of implementing a font for the letter “one” as an example of a combination glyph.
  • Glyphs of " ⁇ ", “ ⁇ ” and “b” as the phonemes can be selected as master glyphs to compose the letter "one", and the master glyph is displayed in the bounding box for each phoneme.
  • a first bounding box C for the phoneme “”, a second bounding box D for the phoneme “ ⁇ ” and a third bounding box E for the phoneme “b” are displayed, and the user Fonts can be implemented by dragging inputs to each bounding box.
  • the information according to the drag input for each bounding box is analyzed, and the shape of each phoneme may be changed in the form of horizontal zoom, vertical zoom, horizontal and vertical zoom according to the drag result. .
  • Fig. 7C shows an example in which one of the plurality of basic glyphs for the Chinese character " ⁇ " is selected and displayed as the master glyph. Similar to the above-described embodiment of FIG. 7A, the selected master glyph is displayed in the first bounding box A, and the user selects a border or a vertex of the first bounding box A, and drags the same. Adjust the bounding box. For example, the vertically expandable basic glyph may be selected as the master glyph in the first bounding box A, and the first bounding box A may be adjusted to the second bounding box B through a drag operation. Accordingly, horizontally and vertically reduced interpolation glyphs of the master glyphs may be generated.
  • FIG. 7D shows an example of implementing a font for the kanji “ ⁇ ” as an example of a combination glyph.
  • Glyphs of " ⁇ " and “ ⁇ ” as the phonemes may be selected as master glyphs to compose the letter "k”, and the master glyph is displayed in the bounding box for each phoneme.
  • a first bounding box C and a second bounding box D are generated, and the master glyphs of the letter “K” and “ ⁇ ” are displayed therein, respectively.
  • the shape of the master glyphs “ ⁇ ” and “ ⁇ ” is changed by analyzing user drag information on each bounding box, and thus a font composed of glyphs having different shapes may be implemented.
  • FIG. 8 is a block diagram illustrating a font generating apparatus according to another exemplary embodiment of the present invention.
  • FIG. 8 illustrates a glyph generator 2000 as one component of the font generating apparatus, and other components illustrated in FIG. 5A may be further provided in the font generating apparatus.
  • the glyph generator 2000 may include a glyph information receiver 2100, a drag information receiver 2200, an information analyzer 2300, an interpolation processor 2400, an interpolation glyph generator 2500, and a combination glyph generator 2600. It may include.
  • the information analyzer 2300 may include a basic glyph selector 2310 and a weight calculator 2320.
  • components for generating glyphs in the font generating apparatus are illustrated as different functional blocks, but at least two of the various components illustrated in FIG. 8 are implemented as one functional block, or one functional block is two. The above-described functional blocks may be divided and illustrated, or various components illustrated in FIG. 8 may be implemented in software.
  • the glyph information receiver 2100 receives information about a glyph selected by a user. For example, for each glyph, two or more of the above mentioned basic glyphs may be previously generated and stored in a database, and if the user wants to generate interpolated glyphs for a given glyph, the multiple default glyphs included in the glyph Information on selecting any one of them may be received. Depending on the selected information, either basic glyph is output in the bounding box as the master glyph.
  • the user may generate a bounding box changed by dragging the bounding box, and the drag information receiver 2200 receives information related to the dragging operation of the user.
  • the bounding box may be changed by selecting a border or a vertex of the bounding box and dragging it. If the size of the first bounding box may be determined according to the type of the first selected master glyph (basic, horizontal, vertical and horizontal / vertical, etc.), the information of the first bounding box (for example, the first bounding box) may be determined. Coordinate information) and information of the second bounding box whose shape is adjusted by the user's dragging operation may be received as drag information.
  • the information analyzer 2300 may analyze the drag information and output the result.
  • the basic glyph selector 2310 may select the basic glyph required for the interpolation operation by analyzing the drag information. If the basic glyph is selected as the master glyph and the user extends the first bounding box horizontally, the horizontal glyph basic glyph is needed in addition to the master glyph for interpolation operation, and the basic glyph selector 2310 does this.
  • the analysis results that are displayed can be output.
  • the weight calculator 2320 calculates and outputs a weight for the interpolation operation. For example, when the second bounding box adjusted by the user is adjusted in a form similar to the horizontally expandable basic glyph, the weight is calculated by using the horizontally expanded basic glyph. This value is relatively large compared to the master glyph.
  • the interpolation processor 2400 performs an interpolation operation according to the above-described information analysis result. For example, the interpolation operation is performed using coordinate information included in the master glyph, coordinate information included in the selected basic glyph, and the calculated weight, and the result (eg, coordinate information calculated according to the interpolation operation) is output.
  • the interpolation glyph generation unit 2500 generates an interpolation glyph having a shape according to the interpolation result
  • the combination glyph generation unit 2600 may generate a combination glyph by combining two or more glyphs generated through the above-described process. have.
  • the interpolated glyph generator 2500 and the combined glyph generator 2600 are illustrated as different functional blocks, as described above, such a function may be performed through the same functional block.
  • the web font system 3000 may include a web font server 3100 and a web client 3200, and the web font server 3100 may include a font generating apparatus as in the above-described embodiment. Can be.
  • the web font server 3100 may communicate with the web client 3200 through a network to provide a font or a subset font.
  • information about the glyph constituting the font may be transmitted together.
  • the total number of glyphs required to implement the font can be significantly reduced, and thus the total amount of information transmitted when the font is transmitted through the network can be reduced.
  • FIG. 10 is a flowchart illustrating a glyph generating method according to another exemplary embodiment of the present invention.
  • the user selects a glyph to be used for the font, and when the selected glyph is displayed in the bounding box, the user changes the shape of the glyph by dragging it and stores the glyph having the changed shape. can do.
  • master glyph selection information is received according to selecting one of a plurality of basic glyphs included in the phoneme as the master glyph (S21).
  • the master glyph is displayed in the bounding box, and drag information is received as the user performs a drag operation on the bounding box (S22).
  • drag information is received as the user performs a drag operation on the bounding box (S22).
  • one or more basic glyphs required for the interpolation operation are selected (S23). That is, two or more basic glyphs (preferably three basic glyphs) in addition to the master glyph are further stored in the system, and one or more basic glyphs to be used for the interpolation operation are selected according to the drag information.
  • the weight of each of the plurality of basic glyphs (including the master glyph) to be used for the interpolation operation is calculated (S24), and the interpolation operation using the basic glyphs and the calculated weight is performed ( S25). Coordinate information is generated according to the interpolation result, and an interpolation glyph is generated using the interpolation (S26).
  • 11 is a flowchart illustrating a glyph generating method according to another exemplary embodiment of the present invention. 11 illustrates an example in which two or more phonemes are combined to generate a font for one letter.
  • One letter may be implemented by combining two or more phonemes. Accordingly, as two or more master glyphs are selected by the user, each master glyph is output in the bounding box (S31). The user may change the shape of each glyph by dragging each bounding box, and thus, the user drag information is received (S32).
  • An analysis operation on drag information of a bounding box for each master glyph of the user is performed, and an interpolation operation according to the analysis result is performed (S33). Accordingly, an interpolation glyph is generated for each master glyph (S34).
  • the interpolation operation is performed again to generate an interpolated glyph whose shape is changed.
  • the user may check the output interpolated glyph and determine whether to store the interpolated glyph. As the output interpolated glyph is stored as a new glyph, the corresponding interpolated glyph is generated as the final combined glyph (S35).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법이 개시된다. 본 발명의 일 실시예에 따른 폰트 생성 방법은, 글자 또는 자소의 기본형으로서 제1 기본 글리프를 생성하는 단계와, 상기 기본형의 가로 확대 및 세로 확대 중 적어도 하나가 적용된 제2 내지 제a 기본 글리프를 생성하는 단계(단, a는 2 이상의 정수)와, 상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 이용하여 보간 동작을 수행함으로써 상기 기본 글리프들과는 다른 모양의 보간 글리프를 생성하는 단계 및 상기 기본 글리프 및 보간 글리프를 이용하여 폰트를 생성하는 단계를 구비하는 것을 특징으로 한다.

Description

글리프 보간을 이용한 폰트 생성 장치 및 방법
본 발명은 폰트 생성 및 랜더링 방법에 관한 것으로서, 자세하게는 글리프 보간에 의한 폰트 생성 및 랜더링 방법에 관한 것이다.
폰트를 이용하여 글자를 표현하기 위해서는 글자의 모양을 가리키는 글리프(Glyph)가 필요하다. 글리프는 글자의 구체적인 모양, 디자인, 표현 등을 가리키며, 또한 특정한 폰트, 자소 등의 언어의 요소에서의 특정한 그래픽 표현을 가리킨다.
일예로서, 한글 등의 문자를 표시하기 위한 폰트의 경우 많은 수의 글리프들을 필요로 한다. 자소 조합에 의한 방법으로 폰트를 만드는 경우, 각각의 자소가 하나의 글자 내에서 어떠케 결합되느냐에 따라 그 모양이 달라지게 되며, 이를 각각 표현하기 위한 다수의 글리프들이 필요하게 된다. 예컨대, 전체 조합 가능한 글자 11,172자에 초성, 중성 및 종성을 반영한 세 가지의 경우를 곱하여 전체 33,615 개의 자소 글리프들을 만들 필요가 있다. 이러한 자소 글리프들의 개수를 줄이기 위한 방법으로서 상기 자소 글리프들을 다수 개의 그룹으로 구분하고, 각 그룹을 대표하는 2000-4000 개의 글리프만을 만듬으로써 그 개수를 줄이는 시도가 제시되고 있다.
그러나, 이러한 경우도 많은 수의 비슷한 자소들의 글리프들을 만들 필요가 존재하며, 이에 따라 글리프를 만드는데 시간이 많이 소요되며 또한 만들어진 자소 글리프들 사이의 일관성도 떨어지는 문제가 발생한다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 효율적인 글리프 생성이 가능토록 함으로써 자소 글리프들 사이의 일관성 향상 및 글리프 생성의 효율을 도모할 수 있는 글리프 보간에 의한 폰트 생성 및 랜더링 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 폰트 생성 방법은, 글자 또는 자소의 기본형으로서 제1 기본 글리프를 생성하는 단계와, 상기 기본형의 가로 확대 및 세로 확대 중 적어도 하나가 적용된 제2 내지 제a 기본 글리프를 생성하는 단계(단, a는 2 이상의 정수)와, 상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 이용하여 보간 동작을 수행함으로써 상기 기본 글리프들과는 다른 모양의 보간 글리프를 생성하는 단계 및 상기 기본 글리프 및 보간 글리프를 이용하여 폰트를 생성하는 단계를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 폰트 생성 방법은 상기 폰트를 구현할 글자들의 정보를 분석하는 단계를 더 구비하고, 상기 정보 분석 결과에 따라 상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 선택하여 보간 동작을 수행함으로써 상기 보간 글리프를 생성하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제2 내지 제a 기본 글리프는 제2 기본 글리프 내지 제4 기본 글리프를 포함하고, 상기 제2 기본 글리프는 상기 기본형의 가로 확대형 글리프이고, 상기 제3 기본 글리프는 상기 기본형의 세로 확대형 글리프이고, 상기 제4 기본 글리프는 상기 기본형의 가로 및 세로 확대형 글리프인 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 폰트 생성 장치는, 다수의 글리프를 이용하여 폰트를 생성하는 폰트 생성부 및 상기 폰트의 구현을 위한 다수의 기본 글리프들을 기 생성하며, 상기 다수의 기본 글리프들 중 선택된 적어도 두 개의 기본 글리프들에 대한 보간 동작을 수행함에 의하여 상기 기본 글리프들과는 다른 모양의 보간 글리프들을 생성하는 글리프 생성부를 구비하고, 상기 폰트 생성부는, 상기 기 생성된 기본 글리프들 및 상기 보간 동작에 의해 수행된 보간 글리프들 중 적어도 하나를 이용함에 의하여 상기 폰트를 생성하는 것을 특징으로 한다.
상기한 바와 같은 본 발명에 따르면, 적은 수의 글리프만으로 다양한 형태의 글리프들을 생성할 수 있으며, 이에 따라 폰트에 포함되는 글리프들의 개수를 줄여 폰트를 저장하기 위한 저장 공간을 감소하고 폰트를 전송하는 데 그 용량을 줄일 수 있으며, 또한 글리프를 만드는데 시간을 감소할 수 있는 효과가 있다.
도 1은 자소에 대한 일반적인 글리프 세트의 일예를 나타내는 블록도이다.
도 2는 자소에 대한 본 발명의 실시예에 따른 글리프 세트의 일예를 나타내는 블록도이다.
도 3은 다양한 형태의 글리프를 생성하기 위한 본 발명의 일 실시예에 따른 보간 동작을 나타내는 도면이다.
도 4는 다양한 형태의 글리프를 생성하기 위한 본 발명의 다른 실시예에 따른 보간 동작을 나타내는 도면이다.
도 5a,b는 본 발명의 일실시예에 따른 폰트 생성 장치를 나타내는 블록도이다.
도 6은 본 발명의 일실시예에 따른 폰트 생성 장치의 동작방법을 나타내는 블록도이다.
도 7a 내지 도 7d는 보간 글리프를 생성함에 있어서 바운딩 박스를 이용한 사용자 인터페이스를 제공하는 일예를 나타내는 도면이다.
도 8은 본 발명의 다른 실시예에 따른 폰트 생성 장치를 나타내는 블록도이다.
도 9는 본 발명의 일실시예에 따른 웹 폰트 시스템을 나타내는 블록도이다.
도 10은 본 발명의 다른 실시예에 따른 글리프 생성 방법을 나타내는 플로우차트이다.
도 11은 본 발명의 또 다른 실시예에 따른 글리프 생성 방법을 나타내는 플로우차트이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 자소에 대한 일반적인 글리프 세트의 일예를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 하나의 폰트에 의해 구현 가능한 글자들은 다양한 모양을 가질 수 있으며, 일예로서 한글과 같이 글자가 하나 이상의 자소의 조합에 의해 구현되는 경우에는 각 자소 별로 초성, 중성, 종성 각각에 대한 글리프들이 필요하며, 또한 어느 하나의 초성에 대하여도 그 초성이 어떠한 중성 및 종성과 결합하느냐에 따라 다양한 형태의 글리프들을 필요로 한다.
일예로서, 도 1은 자소 "ㅎ"에 대응하여 생성되는 다수의 글리프들의 예를 나타내며, 도시된 바와 같이 유사한 글리프들이 다수 생성되어 폰트 생성 장치에 포함되며, 폰트에 의해 표현되는 각각의 글자에 대하여 기 저장된 다수 개의 글리프들 중 어느 하나를 선택함에 의하여 해당 글자에 대한 폰트를 생성한다. 그러나, 이와 같은 방법에 따르면 유사한 글리프들을 생성하는 데 그 한계가 발생하게 되며, 이에 따라 전술한 글리프들이 적용된 폰트가 생성되더라도, 해당 폰트에 따라 글자 표현시 섬세한 글자의 표시가 어렵게 된다.
도 2는 자소에 대한 본 발명의 실시예에 따른 글리프 세트의 일예를 나타내는 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따르면 하나의 자소 당 일정 개수의 기본 글리프가 적용된다. 도 2의 글리프 세트(100)는 한글의 하나의 자소로서 "ㅎ"에 대응하는 다수의 글리프들을 포함한다. 도 2에 도시된 글리프 세트(100)들 중 세 개 이상의 기본 글리프들이 기 생성되어 저장될 수 있으며, 예컨대 네 개의 기본 글리프들(110, 120, 130, 140)이 기 생성되어 폰트 생성 장치에 저장된다.
한글의 경우를 예로 들면, 자음 자소의 경우 “ㄱ, ㅋ, ㄲ” 의 경우는 가로 모임 글자용, 세로 모임 글자용 및 받침용의 3 가지, 그리고 나머지 초성 자소들의 경우는 가로 모임 글자용, 세로 모임 글자용의 2 가지, 그리고 기타 “ㅁ” 등 하나의 디자인만 만들 수 있다. 또한, 모음 자소에 있어서는, 받침이 있는 경우의 2 가지, 그리고 받침이 없는 경우의 두 가지의 디자인만 만들 수 있다. 이 경우, 대략 합계 21*2 + 19*2 개(대략 80개)의 기본 글리프들만 디자인할 수 있다. 또한, 상기 기본 글리프들을 가로로 확대한 가로 확대형의 80 개의 기본 글리프, 세로로 확대한 세로 확대형의 80 개의 기본 글리프, 그리고 가로/세로 확대형의 80 개의 기본 글리프를 포함하여 전체 320개의 기본 글리프를 디자인할 수 있다. 상기와 같이 디자인된 기본 글리프들을 이용함에 의하여, 현재 한글 11,172 자에 사용할 모든 모양의 글리프들을 생성할 수 있다. 상기 모든 모양의 글리프들은, 후술할 320 개의 기본 글리프들을 이용한 보간(Interpolation) 동작에 의해 생성될 수 있다.
도 2를 다시 참조하면, 자소 "ㅎ"에 대응하여 4 개의 기본 글리프들(110~140)이 생성되어 시스템 내부에 저장된다. 상기 기 저장되는 기본 글리프들(110~140)은 그 자체로서 폰트를 구현하기 위하여 저장될 수 있으며, 또한 이들을 이용하여 다른 모양을 갖는 글리프들을 생성하기 위하여 기 저장될 수 있다. 이들 기본 글리프들(110~140) 중 제1 기본 글리프(110)는 기본형의 글리프에 해당하며, 제2 기본 글리프(120)는 제1 기본 글리프(110)의 가로 확대형, 제3 기본 글리프(130)는 제1 기본 글리프(110)의 세로 확대형, 제4 기본 글리프(140)는 제1 기본 글리프(110)의 가로/세로 확대형의 글리프일 수 있다.
기본 글리프들(110~140) 각각은 해당 글리프의 모양을 갖도록 실제 글자가 표시되기 위한 좌표 정보를 가질 수 있다. 이에 따라, 제2 기본 글리프(120)는 제1 기본 글리프(110)에 비하여 글자의 두께는 동일하나 전체적으로 가로 방향으로 확대되어 글자가 표시되도록 하기 위한 좌표 정보를 가질 수 있다. 이와 유사하게, 제3 기본 글리프(130)는 세로 방향으로 확대되어 글자가 표시되도록 하기 위한 좌표 정보, 제4 기본 글리프(140)는 가로 및 세로 방향으로 확대되어 글자가 표시되도록 하기 위한 좌표 정보를 가질 수 있다.
도 2의 글리프 세트에서, 제1 내지 제4 기본 글리프들(110~140)만이 기 생성되어 폰트 생성 장치에 저장될 수 있으며, 나머지 글리프들은 제1 내지 제4 기본 글리프들(110~140) 중 적어도 하나를 이용하여 생성될 수 있다. 예컨대, (a)에도시된 글리프는 제1 기본 글리프(110)를 가로 방향으로 확대한 형태의 글리프로서, 이는 제1 기본 글리프(110)와 제2 기본 글리프(120)의 보간 동작에 의해 생성될 수 있다. 즉, 각각의 글자나 자소를 표시하기 위한 폰트를 생성함에 있어서 각 자소를 표현하기 위한 글리프의 모양은 변동될 수 있으며, (a)의 글리프에 따라 자소 "ㅎ"가 표현되야 할 경우, 제1 기본 글리프(110)와 제2 기본 글리프(120)를 보간함에 의하여 (a)의 글리프를 생성한다. (a)의 글리프는 제1 기본 글리프(110)와 제2 기본 글리프(120)의 보간에 의해 생성되므로, 제1 기본 글리프(110)의 좌표 정보와 제2 기본 글리프(120)의 좌표 정보를 연산한 결과에 따른 좌표 정보를 가질 수 있다.
이와 유사하게, (b)의 글리프에 따라 자소 "ㅎ"가 표현되야 할 경우, 제1 기본 글리프(110)와 제3 기본 글리프(130)를 보간함에 의하여 (b)의 글리프를 생성할 수 있다. (b)의 글리프 또한 "ㅎ"의 기본형 기본 글리프와 "ㅎ"의 세로 확대형 기본 글리프의 사이의 형태를 갖는 글리프로서, 제1 기본 글리프(110)의 좌표 정보와 제3 기본 글리프(130)의 좌표 정보를 연산함에 의하여 (b)의 글리프를 표시하기 위한 좌표 정보가 산출될 수 있다. 또한, (c)의 글리프에 따라 자소 "ㅎ"가 표현되야 할 경우, 제1 기본 글리프(110)와 제4 기본 글리프(140)를 보간함에 의하여 (c)의 글리프를 생성할 수 있다.
한편, (d)의 글리프에 따라 자소 "ㅎ"가 표현되야 할 경우, 제1 내지 제3 기본 글리프(110~130)를 보간함에 의하여 (d)의 글리프를 생성한다. 이를 위하여, 먼저 제1 기본 글리프(110)와 제2 기본 글리프(120)를 보간함에 의하여 적절히 가로 확대된 글리프를 중간 생성하고, 중간 생성된 글리프를 제3 기본 글리프(130)를 보간함에 의하여 (d)의 글리프를 생성할 수 있다. 즉, 제1 내지 제3 기본 글리프(110~130)의 좌표 정보들이 서로 연산되고, 그 연산 결과로서 (d)의 글리프를 표현하기 위한 좌표 정보가 생성될 수 있다.
전술한 도 2에 도시된 글리프들은 어느 하나의 자소에 대한 글리프로서 이를 싱글 글리프로 지칭할 수 있다. 즉, 싱글 글리프는 전술한 제1 내지 제4 기본 글리프(110~140)를 포함함과 함께, 상기 제1 내지 제4 기본 글리프(110~140) 중 적어도 두 개의 기본 글리프를 보간함에 의해 생성된 글리프를 포함할 수 있다. 또한, 글리프를 생성함에 있어서 적어도 두 개의 자소가 결합된 조합 글리프가 생성될 수 있으며, 예컨대 각각의 자소의 기본 글리프에 근거하여 보간 동작을 수행하고, 두 개 이상의 싱글 글리프를 결합함에 의하여 조합 글리프가 생성될 수 있다.
이에 따르면, 폰트 생성 장치 내에 일부의 기본 글리프들만을 기 저장하고, 해당 폰트에 의해 표시되는 글자들에 대해 기본 글리프들 사이의 보간 동작에 의하여 다양한 글리프들이 생성되므로, 막대한 전체 글리프의 생성 및 저장 없이 다양한 형태로 글자가 표시될 수 있는 폰트 구현이 가능하다. 또한, 폰트 개발시 전술한 바와 같은 글리프 생성 방식에 따르면 폰트 제작에 소요되는 시간을 대폭 절감할 수 있으며, 양질의 폰트를 다량 제작하는 것이 가능하다.
전술한 실시예에서는 어느 하나의 폰트에 포함되는 글리프들만이 설명되었으나, 본 발명의 실시예는 이에 국한될 필요는 없다. 예컨대, 폰트 생성 장치는 다수의 폰트들을 생성할 수 있으며, 본 발명의 실시예에 따른 글리프 생성 방식은 다수의 폰트들 각각에 대해 적용될 수 있다.
또한, 전술한 실시예에서는 시스템 내부에서 기본 글리프들 이외에 보간 동작(또는, 보간을 위한 연산 동작)에 의한 글리프(보간 글리프)를 생성하는 예가 설명되었으며, 실제 이와 같은 글리프 생성 동작을 위한 사용자 인터페이스는 바운딩 박스 등 그래픽화 된 툴(tool)로서 제공될 수 있다. 예컨대, 각각의 자소에 대한 바운딩 박스가 제공되고, 사용자에 의한 바운딩 박스의 드래그 정보가 입력되며, 상기 입력된 드래그 정보에 기반하여 보간 동작이 수행됨에 따라 보간 글리프가 생성될 수 있다.
또한, 도 2의 실시예의 글리프 세트에서, 보간 동작은 글리프의 선(또는 테두리)에 근거한 보간이 아니라 각각의 글리프에 포함된 다수의 좌표 정보에 근거한 보간 동작이 수행되며, 이에 따라 기본 글리프 및 보간 글리프 사이의 두께는 실질적으로 동일하거나 적절한 모양의 글리프가 생성되는 한도에서 확대 또는 축소될 수 있다. 즉, 글리프에 대한 확대/축소 등의 조절을 통해 변형된 글리프를 생성하는 경우, 그 두께가 매우 얇아지거나 두꺼워짐에 따라 폰트 생성에 부적합한 글리프들이 생성되는 문제점을 개선할 수 있다.
도 3은 다양한 형태의 글리프를 생성하기 위한 본 발명의 일 실시예에 따른 보간 동작을 나타내는 도면이다. 도 3에 도시된 바와 같이, 어느 하나의 자소에 대응하여 4 개의 기본 글리프들이 제공되며, 제1 기본 글리프(110)는 기본형 글리프, 제2 기본 글리프(120)는 기본형 글리프의 가로 확대형, 제3 기본 글리프(130)는 기본형 글리프의 세로 확대형, 제4 기본 글리프(140)는 기본형 글리프의 가로/세로 확대형 글리프이다. 상기 4 개의 기본 글리프들을 이용한 보간 동작에 의하여 (m+1)*(n+1) 개의 글리프들을 생성할 수 있다.
이 때, 제1 기본 글리프(110)의 위치를 (0,0), 제2 기본 글리프(120)의 위치를 (m,0), 제3 기본 글리프(130)의 위치를 (0,n), 제4 기본 글리프(140)의 위치를 (m,n)으로 정의할 수 있다. 각각의 기본 글리프들은 해당 모양에 따라 글자를 표시하기 위한 좌표 정보를 포함할 수 있다.
폰트를 구현하기 위하여, 각각의 자소의 글자 내에서의 조합 형태 등을 분석하여 상기 자소를 표현하기 위한 글리프를 선택할 수 있다. 예컨대, 자소가 상기 기본 글리프들 중 어느 하나에 의해 표현된다면, 별도의 보간 동작 없이 해당 기본 글리프를 이용하여 해당 자소의 폰트를 구현할 수 있다. 반면에, 상기 기본 글리프들 이외에 다른 글리프에 따라 해당 자소를 표현할 필요가 있는 경우, 기본 글리프들을 이용한 보간 동작에 의해 필요한 글리프가 생성되고 이를 이용하여 해당 자소의 폰트를 구현할 수 있다.
필요한 글리프를 생성함에 있어서, 가로 확대를 위한 필요 글리프의 위치가 선택될 수 있으며, 이는 제1 기본 글리프(110)의 위치로서 (0,0)과 제2 기본 글리프(120)의 위치로서 (m,0) 사이의 위치가 선택될 수 있다. 해당 위치가 선택되면 제1 기본 글리프(110)와 제2 기본 글리프(120)를 이용한 보간 동작에 의하여 해당 선택된 위치에 해당하는 가로 확대된 글리프가 생성될 수 있다.
이와 유사하게, 세로 확대를 위한 필요 글리프의 위치 선택시, 제1 기본 글리프(110)의 위치로서 (0,0)과 제3 기본 글리프(130)의 위치로서 (0, n) 사이의 위치가 선택될 수 있다. 또한, 제1 기본 글리프(110)와 제3 기본 글리프(130)를 이용한 보간 동작에 의하여 해당 선택된 위치에 해당하는 세로 확대된 글리프가 생성될 수 있다. 이와 유사하게, 제1 기본 글리프(110)의 위치로서 (0,0)과 제4 기본 글리프(120)의 위치로서 (m,n) 사이의 위치에 해당하는 가로/세로 확대된 글리프가 생성될 수 있다.
도 3의 실시예에서는, 하나의 기본 글리프에 대해 대표적인 하나의 좌표만이 설명되었으나, 본 발명의 실시예는 이에 국한될 필요는 없다. 예컨대, 하나의 글리프를 구현하기 위하여 복수의 좌표 정보가 각 글리프에 포함될 수 있으며, 보간 동작시 두 개 이상의 기본 글리프들의 서로 대응하는 좌표 정보들을 연산하여 보간 동작을 수행함으로써 보간 글리프가 생성될 수 있다.
도 4는 다양한 형태의 글리프를 생성하기 위한 본 발명의 다른 실시예에 따른 보간 동작을 나타내는 도면이다. 도 4의 실시예에서는 어느 하나의 자소에 대응하여 기본형, 가로 확대형 및 세로 확대형의 기본 글리프들만을 이용하여 전체 글리프들을 생성하는 예가 도시된다.
도 4에 도시된 바와 같이, 일예로서 자소 “ㅎ” 에 대응하여 3 개의 기본 글리프들이 제공되며, 제1 기본 글리프(110)는 기본형 글리프, 제2 기본 글리프(120)는 기본형 글리프의 가로 확대형, 제3 기본 글리프(130)는 기본형 글리프의 세로 확대형 글리프이다. 상기 3 개의 기본 글리프들을 이용한 보간 동작에 의하여(m+1)*(n+1) 개의 글리프들을 생성할 수 있다.
3 개의 기본 글리프들을 이용하여 필요한 글리프를 생성함에 있어서, 제1 기본 글리프(110)의 가로로 확대된 글리프는 제1 기본 글리프(110) 및 제2 기본 글리프(120)를 보간함에 의하여 생성될 수 있으며, 또한 제1 기본 글리프(110)의 세로로 확대된 글리프는 제1 기본 글리프(110) 및 제3 기본 글리프(130)를 보간함에 의하여 생성될 수 있다. 또한, 제1 기본 글리프(110)의 가로/세로로 확대된 글리프는 제1 기본 글리프(110), 제2 기본 글리프(120) 및 제3 기본 글리프(130)를 모두 보간함에 의하여 생성될 수 있다. 만약, 제1 기본 글리프(110)의 가로 및 세로로 최대 확대된 글리프는 전술한 실시예에서 제4 기본 글리프에 해당할 수 있으며, 도 4에서 제4 기본 글리프와 동일한 형태의 글리프를 생성하기 위해서는 제2 기본 글리프(120)와 제3 기본 글리프(130) 만을 보간하여도 무방하다.
도 5a,b는 본 발명의 일실시예에 따른 폰트 생성 장치를 나타내는 블록도이다. 도 5a,b의 블록도는 본 발명의 일 실시예에 따른 폰트 생성 장치에서의 글리프 생성을 수행하기 위한 각종 기능을 블록화한 것으로서, 도 5a,b의 각종 기능들은 장치적으로 또는 소프트웨어적으로 구현되어도 무방하다.
도 5a에 도시된 바와 같이, 본 발명의 실시예에 따른 폰트 생성 장치(1000)는 제어부(1100), 폰트 생성부(1200), 글리프 생성부(1300), 폰트 전송부(1400) 및 데이터베이스부(1500)를 포함할 수 있다. 또한 데이터베이스부(1500)는 폰트 저장부(1510) 및 글리프 저장부(1520)를 포함할 수 있다.
제어부(1100)는 폰트 생성 장치(1000)의 시스템 전반을 제어하는 제어 동작을 수행한다. 예컨대, 도 5a에 도시된 다른 각종 기능블록들의 동작 여부를 제어하거나, 각 기능블록들 사이의 정보 전송 제어, 그리고, 본 발명의 실시예에 따른 기본 글리프 생성, 그리고 기본 글리프들의 보간 동작에 의한 글리프 생성 및 이를 이용한 폰트 생성 등을 제어하기 위한 동작을 수행할 수 있다.
폰트 생성부(1200)는 각종 언어를 표시하기 위한 하나 이상의 폰트를 생성하며, 또한, 각각의 폰트를 생성함에 있어서 복수의 글리프들을 이용하여 폰트를 생성할 수 있다. 전술한 바와 같이, 자소 조합에 따라 글자가 표시되는 경우 각각의 자소 별로 글리프를 이용하여 폰트를 생성할 수 있으며, 또한 글자 내에서의 자소가 조합되는 형태에 따라 다수의 글리프들이 존재하며, 이에 따라 어느 하나의 자소는 다수의 글리프들이 각각 달리 적용되어 폰트가 생성될 수 있다.
글리프 생성부(1300)는 전술한 본 발명의 실시예에 따라 글리프들을 생성할 수 있다. 예컨대, 어느 하나의 자소에 대응하여 복수의 기본 글리프들이 기 생성되어 시스템 내부(또는 글리프 저장부, 1520)에 저장될 수 있으며, 이후 폰트 생성시 다른 모양을 갖는 글리프들이 필요로 되는 경우, 글리프 생성부(1300)는 사용자의 입력 정보에 기반하여 기본 글리프들을 이용한 보간 동작을 수행하고, 그 수행 결과에 따라 상기 기본 글리프들과는 다른 모양을 갖는 글리프들(보간 글리프들)을 생성할 수 있다. 상기 기 생성되는 기본 글리프들은 어느 하나의 자소의 기본형을 갖는 제1 기본 글리프와, 상기 기본형의 가로 확대형의 제2 기본 글리프, 상기 기본형의 세로 확대형의 제3 기본 글리프, 그리고 상기 기본형의 가로/세로 확대형의 제4 기본 글리프들을 포함할 수 있다. 또는, 다른 실시예로서 전술한 바와 같이 각각의 자소에 대응하여 제1 내지 제3 기본 글리프들만이 생성될 수 있으며, 또는 다른 개수의 기본 글리프들(예컨대, 더 많은 수의 기본 글리프들)이 생성될 수 있다.
글리프 생성부(1300)는 전술한 다수 개의 기본 글리프들 중 적어도 두 개에 대한 보간 동작을 수행하여 도 2에 도시된 각종 형태의 글리프들을 생성할 수 있다. 기본 글리프들은 글리프 저장부(1520)에 저장될 수 있으며, 글리프 생성부(1300)는 글리프 저장부(1520)에 저장된 기본 글리프들을 이용하여 보간 동작을 수행할 수 있다. 폰트 생성부(1200)는 글리프 저장부(1520)에 저장된 기본 글리프들이나 글리프 생성부(1300)에서 생성된 보간 글리프들을 이용하여 폰트를 생성할 수 있다. 폰트 생성부(1200)에서 생성된 폰트는 폰트 저장부(1510)에 저장될 수 있다.
폰트 전송부(1400)는 외부 인터페이스(예컨대, 인터넷 등의 네트워크 망)를 통해 폰트 표시 장치(미도시)에 폰트를 전송할 수 있다. 웹 기반을 통해 폰트가 전송되는 경우, 상기 폰트 생성 장치(1000)는 웹 폰트 서버일 수 있으며, 웹 망을 통해 폰트를 수신하는 폰트 표시 장치는 웹 클라이언트일 수 있다. 폰트 생성 장치(1000)는 웹 클라이언트로 기 생성된 폰트를 전송할 수 있으며, 또는 웹 클라이언트로부터 폰트 요청이 수신되는 경우 해당 폰트를 실시간으로 생성하여 이를 전송할 수 있다.
본 발명의 실시예에 따른 폰트 생성 장치(1000)는 매우 적은 개수의 글리프들만을 이용하여 다양한 형태의 글리프들을 생성하므로 폰트 제작에 소요되는 시간을 감소할 수 있다. 이에 따라, 기 저장되는 폰트를 생성함에 있어서도 적은 개수의 글리프들만을 이용하여 효율적으로 생성할 수 있으며, 또한 실시간으로 폰트의 제작 및 전송이 요청되는 경우에도 큰 딜레이 없이 폰트를 생성하여 웹 클라이언트로 제공할 수 있다.
도 5b는 도 5a의 글리프 생성부(1300)의 일 구현예를 나타내는 블록도이다. 도 5b에 도시된 바와 같이, 글리프 생성부(1300)는 기본 글리프 생성부(1310), 글자정보 분석부(1320), 보간 처리부(1330) 및 보간 글리프 출력부(1340)를 포함할 수 있다.
기본 글리프 생성부(1310)는 전술한 바와 같이 각각의 글자 또는 자소에 대응하는 다수 개의 기본 글리프들을 생성하며, 예컨대 어느 하나의 기본형, 그리고 이를 가로 및/또는 세로 확대한 기본 글리프들을 생성할 수 있다. 글자정보 분석부(1320)는 폰트 구현시 해당 폰트에 의해 구현될 글자들 및 각 글자에 포함되는 자소들의 정보를 분석하여 해당 글자나 자소에 적용될 글리프들을 선택한다.
보간 처리부(1330)는 분석된 글자 정보에 근거하여 해당 글자나 자소를 표현하기 위한 글리프를 생성하기 위하여 보간 동작을 수행한다. 상기 보간 동작은 기 생성된 다수의 기본 글리프들 중 적어도 두 개를 이용한 보간 동작에 기반할 수 있다. 이와 같이 보간 처리된 글리프는 보간 글리프 출력부(1340)에 의해 폰트 생성부(1200)로 제공되며, 폰트 생성부(1200)는 각종 글리프들을 이용하여 폰트를 생성한다.
도 6은 본 발명의 일실시예에 따른 폰트 생성 장치의 동작방법을 나타내는 블록도이다. 도 6에서는 자소의 조합에 따라 글자가 표시되고, 각 자소에 대응하여 생성된 글리프를 이용하여 폰트가 구현되는 예가 도시된다.
도 6에 도시된 바와 같이 각 자소의 제1 기본 글리프를 생성한다(S11). 상기 제1 기본 글리프는 해당 자소의 기본형의 글리프에 해당한다. 또한, 제1 기본 글리프와 관련된 제2 내지 제a 기본 글리프를 생성한다(S12). 생성되는 기본 글리프의 개수는 3 개, 4 개 또는 그 이상일 수 있으며, 일예로서 제1 기본 글리프와 관련된 제2 내지 제4 기본 글리프가 생성될 수 있다. 이들 중, 제2 기본 글리프는 제1 기본 글리프의 가로 확대형, 제3 기본 글리프는 제1 기본 글리프의 세로 확대형, 그리고 제4 기본 글리프는 제1 기본 글리프의 가로/세로 확대형의 글리프일 수 있다.
이후, 폰트 제작시 각각의 글자 정보가 분석된다(S13). 상기 글자 정보의 분석 동작은, 해당 글자가 포함하는 자소, 그리고 각 자소의 해당 글자 내에서의 적용 위치 등을 분석하는 동작을 수행할 수 있다. 이에 따라, 해당 글자에 포함되는 각 자소들의 글리프들이 선택될 수 있으며, 상기 선택될 글리프들은 제1 내지 제4 기본 글리프에 포함되는 글리프이거나, 또는 제1 내지 제4 기본 글리프를 변형한 글리프일 수 있다.
상기와 같은 분석 동작에 기반하여 기본 글리프를 이용한 보간 처리 동작을 수행한다(S14). 보간 처리 동작은 도 2에서의 실시예에 근거하여 수행됨으로써, 다양한 형태의 글리프들이 기본 글리프들을 이용하여 생성될 수 있다. 이와 같이 보간 글리프들이 생성되면, 기본 글리프와 보간 글리프를 이용한 폰트 생성 동작이 수행 및 완료된다(S15).
도 7a 내지 도 7d는 보간 글리프를 생성함에 있어서 바운딩 박스를 이용한 사용자 인터페이스를 제공하는 일예를 나타내는 도면이다. 도 7a,b는 한글의 자소로서 "ㅎ"의 글리프를 나타내며, 도 7c,d는 한자의 자소로서 "金"의 자소를 나타낸다.
도 7a에 도시된 바와 같이, 보간 글리프를 생성하기 위하여 기 저장된 다수의 기본 글리프들 중 사용자에 의해 하나의 기본 글리프가 선택된다. 선택된 기본 글리프는 마스터 글리프로 정의될 수 있으며, 상기 선택에 따라 마스터 글리프가 제1 바운딩 박스(A) 내에 표시된다.
사용자는 제1 바운딩 박스(A)의 테두리나 꼭지점을 선택하고, 이에 대한 드래그 동작을 통하여 바운딩 박스를 조절한다. 사용자에 의해 조절된 바운딩 박스는 제2 바운딩 박스(B)로 지칭될 수 있으며, 사용자에 의해 입력된 정보(예컨대, 드래그 정보)가 시스템 내부에서 분석된다. 도 7a의 예에서, 제2 바운딩 박스(B)는 제1 바운딩 박스(A)를 가로 및 세로 확장한 것으로서, 이에 대응하여 자소 "ㅎ"의 글리프의 모양이 변형된다. 모양이 변형된 글리프는 사용자의 저장 등의 명령에 의하여 보간 글리프로서 저장될 수 있으며, 이에 따라 시스템 내에서 글리프가 더 생성되어 저장된다.
보간 글리프를 생성하기 위하여 기 선택된 마스터 글리프와 함께 적어도 하나의 기본 글리프가 더 선택될 수 있으며, 마스터 글리프 및 선택된 기본 글리프를 이용한 보간 동작이 수행된다. 하나의 글리프는 복수 개의 좌표들로 구성되어 이에 대한 정보를 포함할 수 있으며, 복수의 글리프들(마스터 글리프 및 기본 글리프를 포함)의 서로 대응하는 좌표 정보에 대해 가중치를 부여한 연산을 통하여 보간 동작을 수행하고, 그 연산 결과에 따라 산출되는 새로운 좌표 정보를 갖는 보간 글리프가 생성된다. 도 7a의 예에서는 마스터 글리프와 보간 글리프는 실질적으로 동일한 두께를 가지며, 보간 글리프는 마스터 글리프에 비해 가로 및 세로로 확대된 형태의 모양을 가질 수 있다.
도 7b는 조합 글리프의 일예로서 글자 "한"에 대한 폰트를 구현하는 예가 도시된다. 글자 "한"을 구성하기 위하여 자소들로서 "ㅎ", "ㅏ" 및 "ㄴ"의 글리프가 마스터 글리프로서 선택될 수 있으며, 각각의 자소들에 대한 바운딩 박스 내에 마스터 글리프가 표시된다.
일예로서, 자소 "ㅎ"에 대한 제1 바운딩 박스(C), 자소 "ㅏ"에 대한 제2 바운딩 박스(D) 및 자소 "ㄴ"에 대한 제3 바운딩 박스(E)가 표시되며, 사용자는 각각의 바운딩 박스에 대한 드래그 입력을 통해 폰트를 구현할 수 있다. 각각의 바운딩 박스에 대한 드래그 입력에 따른 정보가 분석되고, 드래그 결과에 따라 각각의 자소는 가로 확대/축소, 세로 확대/축소, 가로 및 세로 확대/축소 등의 형태로 그 모양이 변경될 수 있다.
한편, 도 7c는 한자의 자소 "金"에 대한 다수의 기본 글리프들 중 하나가 마스터 글리프로서 선택되어 표시된 예가 도시된다. 전술한 도 7a의 실시예에서와 유사하게, 선택된 마스터 글리프는 제1 바운딩 박스(A) 내에 표시되고, 사용자는 제1 바운딩 박스(A)의 테두리나 꼭지점을 선택하고, 이에 대한 드래그 동작을 통하여 바운딩 박스를 조절한다. 일예로서, 제1 바운딩 박스(A)에 세로 확장형 기본 글리프가 마스터 글리프로 선택되고, 드래그 동작을 통하여 제1 바운딩 박스(A)를 제2 바운딩 박스(B)로 조절할 수 있다. 이에 따라, 상기 마스터 글리프의 가로 확대 및 세로 축소형 보간 글리프가 생성될 수 있다.
도 7d는 조합 글리프의 일예로서 한자 "釗"에 대한 폰트를 구현하는 예가 도시된다. 글자 "釗"을 구성하기 위하여 자소들로서 "金" 및 "刀"의 글리프가 마스터 글리프로서 선택될 수 있으며, 각각의 자소들에 대한 바운딩 박스 내에 마스터 글리프가 표시된다. 예컨대, 제1 바운딩 박스(C) 및 제2 바운딩 박스(D)가 생성되고, 그 내부에 각각 자소 "金" 및 "刀"의 마스터 글리프가 표시된다. 각각의 바운딩 박스에 대한 사용자의 드래그 정보를 분석함에 의하여 마스터 글리프 "金" 및 "刀"의 모양이 변경되며, 이에 따라 서로 다른 모양을 갖는 글리프로 구성된 폰트가 구현될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 폰트 생성 장치를 나타내는 블록도이다. 일예로서, 도 8에는 폰트 생성 장치의 일 구성으로서 글리프 생성부(2000)가 도시되며, 전술한 도 5a에서 도시된 다른 구성들이 폰트 생성 장치에 더 구비되어도 무방하다.
글리프 생성부(2000)는 글리프 정보 수신부(2100), 드래그 정보 수신부(2200), 정보 분석부(2300), 보간 처리부(2400), 보간 글리프 생성부(2500) 및 조합 글리프 생성부(2600)를 포함할 수 있다. 또한, 정보 분석부(2300)는 기본 글리프 선택부(2310) 및 가중치 계산부(2320)를 포함할 수 있다. 도 8에는 폰트 생성 장치에서 글리프를 생성하기 위한 구성들이 서로 다른 기능블록으로 도시되었으나, 도 8에 도시된 각종 구성들 중 적어도 두 개가 하나의 기능 블록으로 구현되거나, 또는 하나의 기능 블록이 두 개 이상의 기능 블록으로 구분되어 도시되어도 무방하며, 또는 도 8에 도시된 각종 구성들은 소프트웨어적으로 구현되어도 무방하다.
글리프 정보 수신부(2100)는 사용자에 의해 선택된 글리프의 정보를 수신한다. 예컨대, 각각의 글리프에 대해, 전술한 두 개 이상의 기본 글리프들이 기 생성되어 데이터베이스에 저장될 수 있으며, 사용자가 소정의 글리프에 대해 보간 글리프의 생성을 원하는 경우, 상기 글리프에 포함된 다수의 기본 글리프들 중 어느 하나를 선택한 정보가 수신될 수 있다. 선택된 정보에 따라, 어느 하나의 기본 글리프는 마스터 글리프로서 바운딩 박스 내에 출력된다.
사용자는 바운딩 박스를 드래그함에 의하여 변경된 바운딩 박스를 생성할 수 있으며, 드래그 정보 수신부(2200)는 사용자의 드래그 동작에 관련된 정보를 수신한다. 예컨대, 전술한 바와 같이 바운딩 박스의 테두리나 꼭지점을 선택하고 이를 드래그함에 의하여 바운딩 박스를 변경할 수 있다. 만약, 최초 선택된 마스터 글리프의 종류(기본형, 가로 확장형, 세로 확장형 및 가로/세로 확장형 등)에 따라 제1 바운딩 박스의 사이즈가 결정될 수 있으며, 상기 제1 바운딩 박스의 정보(예컨대, 제1 바운딩 박스를 구현하는 좌표 정보)와 사용자의 드래그 동작에 의해 그 형태가 조절된 제2 바운딩 박스의 정보를 드래그 정보로서 수신할 수 있다.
정보 분석부(2300)는 상기 드래그 정보를 분석하고 그 결과를 출력할 수 있다. 예컨대, 기본 글리프 선택부(2310)는 상기 드래그 정보를 분석하여 보간 동작을 위해 필요로 되는 기본 글리프를 선택할 수 있다. 만약, 기본형 글리프가 마스터 글리프로 선택되고, 사용자가 제1 바운딩 박스를 가로로 확장한 경우, 보간 동작을 위하여 상기 마스터 글리프 이외에 가로 확장형 기본 글리프가 필요로 되며, 기본 글리프 선택부(2310)는 이를 나타내는 분석 결과를 출력할 수 있다. 또한, 가중치 계산부(2320)는 보간 동작을 위한 가중치를 계산하여 출력하며, 예컨대 사용자에 의해 조절된 제2 바운딩 박스가 가로 확장형 기본 글리프에 유사한 형태로 조절된 경우, 가중치는 가로 확장형 기본 글리프가 마스터 글리프에 비해 상대적으로 큰 값을 갖게 된다.
보간 처리부(2400)는 전술한 정보 분석 결과에 따라 보간 동작을 수행한다. 예컨대, 마스터 글리프에 포함된 좌표 정보, 선택된 기본 글리프에 포함된 좌표 정보, 그리고 산출된 가중치를 이용하여 보간 동작을 수행하고 그 결과(예컨대, 보간 동작에 따라 산출된 좌표 정보)를 출력한다. 보간 글리프 생성부(2500)는 상기 보간 결과에 따른 모양을 갖는 보간 글리프를 생성하며, 조합 글리프 생성부(2600)는 전술한 과정을 통해 생성된 두 개 이상의 글리프를 결합하여 조합 글리프를 생성할 수 있다. 보간 글리프 생성부(2500)와 조합 글리프 생성부(2600)가 서로 다른 기능 블록으로 도시되었으나, 전술한 바와 같이 시스템 구현에 따라 이와 같은 기능은 동일한 기능 블록을 통해 수행되어도 무방하다.
도 9는 본 발명의 일실시예에 따른 웹 폰트 시스템을 나타내는 블록도이다. 도시된 바와 같이, 웹 폰트 시스템(3000)은 웹 폰트 서버(3100)와 웹 클라이언트(3200)를 포함할 수 있으며, 웹 폰트 서버(3100)는 전술한 실시예에서와 같은 폰트 생성 장치를 포함할 수 있다. 웹 폰트 서버(3100)는 네트워크 망을 통해 웹 클라이언트(3200)와 통신하여 폰트나 서브셋 폰트 등을 제공할 수 있다. 또한, 폰트를 전송함에 있어서 폰트를 구성하는 글리프에 대한 정보를 함께 전송할 수 있다.
본 발명의 실시예에 따르면, 폰트를 구현하기 위하여 필요로되는 글리프들의 전체 개수를 상당히 감소할 수 있으며, 이에 따라 네트워크 망을 통해 폰트 전송 시 전체 전송되는 정보 량을 감소시킬 수 있다.
도 10은 본 발명의 다른 실시예에 따른 글리프 생성 방법을 나타내는 플로우차트이다. 도 10에 도시된 바와 같이, 사용자는 폰트에 사용될 글리프를 선택하며, 선택된 글리프가 바운딩 박스 내에 표시되면 사용자는 이에 대한 드래그 동작을 통해 글리프의 모양을 변경하고, 그 변경된 모양을 갖는 글리프가 저장되도록 할 수 있다. 어느 하나의 자소가 결정되면, 상기 자소에 포함된 다수의 기본 글리프들 중 어느 하나를 마스터 글리프로 선택함에 따라 마스터 글리프 선택 정보가 수신된다(S21).
마스터 글리프가 바운딩 박스 내에 표시되고, 사용자가 바운딩 박스에 대한 드래그 동작을 수행함에 따라 드래그 정보가 수신된다(S22). 상기 드래그 정보를 분석함에 의하여, 보간 동작에 필요로 되는 하나 이상의 기본 글리프가 선택된다(S23). 즉, 마스터 글리프 이외에 두 개 이상의 기본 글리프(바람직하게는 3 개의 기본 글리프)가 시스템 내에 더 저장되며, 드래그 정보에 따라 보간 동작에 이용될 하나 이상의 기본 글리프가 선택된다. 또한, 드래그 정보를 분석함에 의하여, 보간 동작에 이용될 다수의 기본 글리프들(마스터 글리프 포함) 각각의 가중치가 계산되며(S24), 상기 기본 글리프들 및 계산된 가중치를 이용한 보간 동작이 수행된다(S25). 보간 결과에 따른 좌표 정보가 생성되며, 이를 이용하여 보간 글리프가 생성된다(S26).
도 11은 본 발명의 또 다른 실시예에 따른 글리프 생성 방법을 나타내는 플로우차트이다. 도 11은 하나의 글자에 대한 폰트를 생성하기 위하여 두 개 이상의 자소가 결합된 경우의 예를 나타낸다.
하나의 글자는 두 개 이상의 자소를 결합하여 구현될 수 있으며, 이에 따라 사용자에 의해 둘 이상의 마스터 글리프가 선택됨에 따라 각각의 마스터 글리프가 바운딩 박스 내에 출력된다(S31). 사용자는 각각의 바운딩 박스를 드래그함에 의하여 각각의 글리프의 형태를 변경할 수 있으며, 이에 따라 사용자의 드래그 정보가 수신된다(S32).
사용자의 각각의 마스터 글리프에 대한 바운딩 박스의 드래그 정보에 대한 분석 동작이 수행되고, 그 분석 결과에 따른 보간 동작이 수행된다(S33). 이에 따라 각각의 마스터 글리프에 대한 보간 글리프가 생성되며(S34), 이후 사용자가 다시 바운딩 박스를 조절하면 재차 보간 동작이 수행되어 그 모양이 변경된 보간 글리프가 생성된다. 사용자는 출력된 보간 글리프를 확인하여 그 저장 여부를 결정할 수 있으며, 출력된 보간 글리프를 새로운 글리프로서 저장함에 따라 해당 보간 글리프가 최종 조합 글리프로서 생성된다(S35).
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (8)

  1. 글자 또는 자소의 기본형으로서 제1 기본 글리프를 생성하는 단계
    상기 기본형의 가로 확대 및 세로 확대 중 적어도 하나가 적용된 제2 내지 제a 기본 글리프를 생성하는 단계(단, a는 2 이상의 정수);
    상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 이용하여 보간 동작을 수행함으로써 상기 기본 글리프들과는 다른 모양의 보간 글리프를 생성하는 단계 및
    상기 기본 글리프 및 보간 글리프를 이용하여 폰트를 생성하는 단계를 구비하는 것을 특징으로 하는 폰트 생성 방법.
  2. 제1항에 있어서,
    상기 폰트를 구현할 글자들의 정보를 분석하는 단계를 더 구비하고,
    상기 정보 분석 결과에 따라 상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 선택하여 보간 동작을 수행함으로써 상기 보간 글리프를 생성하는 것을 특징으로 하는 폰트 생성 방법.
  3. 제1항에 있어서,
    상기 제2 내지 제a 기본 글리프는 제2 기본 글리프 내지 제4 기본 글리프를 포함하고,
    상기 제2 기본 글리프는 상기 기본형의 가로 확대형 글리프이고,
    상기 제3 기본 글리프는 상기 기본형의 세로 확대형 글리프이고,
    상기 제4 기본 글리프는 상기 기본형의 가로 및 세로 확대형 글리프인 것을 특징으로 하는 폰트 생성 방법.
  4. 다수의 글리프를 이용하여 폰트를 생성하는 폰트 생성부 및
    상기 폰트의 구현을 위한 다수의 기본 글리프들을 기 생성하며, 상기 다수의 기본 글리프들 중 선택된 적어도 두 개의 기본 글리프들에 대한 보간 동작을 수행함에 의하여 상기 기본 글리프들과는 다른 모양의 보간 글리프들을 생성하는 글리프 생성부를 구비하고,
    상기 폰트 생성부는, 상기 기 생성된 기본 글리프들 및 상기 보간 동작에 의해 수행된 보간 글리프들 중 적어도 하나를 이용함에 의하여 상기 폰트를 생성하는 것을 특징으로 하는 폰트 생성 장치.
  5. 제4항에 있어서,
    상기 글리프 생성부는 적어도 제1 내지 제3 기본 글리프들을 생성하며,
    상기 제1 기본 글리프는 글자 또는 자소의 기본형에 해당하는 글리프이고,
    상기 제2 기본 글리프는 상기 기본형의 가로 확대형 글리프이고,
    상기 제3 기본 글리프는 상기 기본형의 세로 확대형 글리프인 것을 특징으로 하는 폰트 생성 장치.
  6. 제4항에 있어서, 상기 글리프 생성부는 ,
    상기 폰트를 구현할 글자들의 정보를 분석하는 글자정보 분석부 및
    상기 분석 결과에 따라 적어도 두 개의 기본 글리프를 선택하여 상기 보간 동작을 수행하는 보간 처리부를 구비하는 것을 특징으로 하는 폰트 생성 장치.
  7. 제4항의 폰트 생성 장치의 기능을 수행하기 위한 프로그램이 저장된 컴퓨터로 판독 가능한 저장매체.
  8. 제4항의 폰트 생성 장치를 구비하는 웹 폰트 서버.
PCT/KR2013/005435 2012-06-21 2013-06-20 글리프 보간을 이용한 폰트 생성 장치 및 방법 WO2013191482A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014550036A JP5893755B2 (ja) 2012-06-21 2013-06-20 グリフ補間を利用したフォント生成装置、及びその方法
US14/350,721 US20140285495A1 (en) 2012-06-21 2013-06-20 Apparatus and Method for Generating Font by Using Glyph Interpolation
CN201380003927.4A CN103959280B (zh) 2012-06-21 2013-06-20 用于使用图示符内插来产生字体的设备和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0066984 2012-06-21
KR1020120066984A KR101344457B1 (ko) 2012-06-21 2012-06-21 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2013191482A1 true WO2013191482A1 (ko) 2013-12-27

Family

ID=49769016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/005435 WO2013191482A1 (ko) 2012-06-21 2013-06-20 글리프 보간을 이용한 폰트 생성 장치 및 방법

Country Status (5)

Country Link
US (1) US20140285495A1 (ko)
JP (1) JP5893755B2 (ko)
KR (1) KR101344457B1 (ko)
CN (1) CN103959280B (ko)
WO (1) WO2013191482A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016161933A (ja) * 2015-03-02 2016-09-05 ハンヤン インフォメーション アンド コミュニケーションズ カンパニー リミテッド 多重マスターグリフの生成システム及び方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101513009B1 (ko) * 2014-05-20 2015-04-17 (주)한양정보통신 폰트 자동 생성 시스템 및 방법
KR101720897B1 (ko) * 2016-03-04 2017-04-10 주식회사 윤디자인그룹 글자 사이의 간격 적분을 통한 폰트 생성 방법 및 이를 수행하는 컴퓨터 프로그램
US10324537B2 (en) * 2017-05-31 2019-06-18 John Park Multi-language keyboard system
US10984173B2 (en) * 2019-02-26 2021-04-20 Adobe Inc. Vector-based glyph style transfer
US11501477B2 (en) * 2021-03-22 2022-11-15 Adobe Inc. Customizing font bounding boxes for variable fonts

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970008784B1 (en) * 1993-08-31 1997-05-29 Fujitsu Ltd Character font generation processing system
JPH11237874A (ja) * 1997-12-05 1999-08-31 Adobe Syst Inc 漢字キャラクタを含むマルチマスタータイプフェースを発生する方法
KR20030006443A (ko) * 2001-07-12 2003-01-23 (주)네오퍼스 폰트의 손실 압축 및 저장 방법
KR20080078844A (ko) * 2005-12-19 2008-08-28 마이크로소프트 코포레이션 획 대비 제어 방법 및 획 대비 제어 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0732649A (ja) * 1993-07-16 1995-02-03 Fujitsu Ltd 文字の合成方法及びその装置
US6678410B1 (en) * 1999-02-17 2004-01-13 Adobe Systems Incorporated Generating a glyph
US6661417B1 (en) * 2000-08-28 2003-12-09 Dynalab Inc. System and method for converting an outline font into a glyph-based font
WO2004034278A1 (ja) * 2002-09-27 2004-04-22 Brother Kogyo Kabushiki Kaisha テキスト編集装置及びプログラム
US7228501B2 (en) * 2002-11-01 2007-06-05 Microsoft Corporation Method for selecting a font
US9477400B2 (en) * 2009-06-11 2016-10-25 Alpine Electronics, Inc. Method and apparatus for navigation system for selecting icons and application area by hand drawing on map image
US20130311310A1 (en) * 2012-05-15 2013-11-21 Gene Zell Restaurant communication system and method utilizing digital menus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970008784B1 (en) * 1993-08-31 1997-05-29 Fujitsu Ltd Character font generation processing system
JPH11237874A (ja) * 1997-12-05 1999-08-31 Adobe Syst Inc 漢字キャラクタを含むマルチマスタータイプフェースを発生する方法
KR20030006443A (ko) * 2001-07-12 2003-01-23 (주)네오퍼스 폰트의 손실 압축 및 저장 방법
KR20080078844A (ko) * 2005-12-19 2008-08-28 마이크로소프트 코포레이션 획 대비 제어 방법 및 획 대비 제어 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016161933A (ja) * 2015-03-02 2016-09-05 ハンヤン インフォメーション アンド コミュニケーションズ カンパニー リミテッド 多重マスターグリフの生成システム及び方法

Also Published As

Publication number Publication date
JP2015509233A (ja) 2015-03-26
CN103959280A (zh) 2014-07-30
KR101344457B1 (ko) 2013-12-26
US20140285495A1 (en) 2014-09-25
JP5893755B2 (ja) 2016-03-23
CN103959280B (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
WO2013191482A1 (ko) 글리프 보간을 이용한 폰트 생성 장치 및 방법
KR102186864B1 (ko) 네트워크 토폴로지 적응형의 데이터 시각화 방법, 장치, 설비 및 저장 매체
Fober et al. Inscore-an environment for the design of live music scores
KR20220034069A (ko) 모델 훈련 및 폰트 라이브러리 구축 방법, 장치, 설비 및 저장 매체
JP2014146128A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
CN109145272A (zh) 文本渲染和布局方法、装置、设备和存储介质
CN108763188A (zh) 一种文本显示方法、装置、设备及存储介质
JP2005148450A (ja) 表示制御装置およびプログラム
CN110517547B (zh) 基于人机交互的力学智能分析系统
JP2008310688A (ja) プラント監視制御装置の画面表示方法
JP2005055573A (ja) 高速表示処理装置
CN106687909A (zh) 信息处理设备、信息处理方法和信息处理程序
KR102583345B1 (ko) 데이터를 주석하는 방법 및 장치
WO2012165830A2 (ko) 전자 문서 표시 방법 및 시스템
WO2018139700A1 (ko) 외곽선 폰트를 이용하여 metafont에 의한 폰트를 생성하는 장치 및 방법
CN114780183A (zh) 在线编程学习方法、装置、电子设备及存储介质
CN109493401B (zh) 演示文稿生成方法、装置以及电子设备
US11531465B2 (en) Display control apparatus, non-transitory recording medium and display controlling method for creating first tag, second tag not overlapping other tags displayed, and indicator correlating second tag with first tag
Stoffel et al. Feature-based visual exploration of text classification
JP7366372B2 (ja) 文字情報表示制御装置、方法およびプログラム
Lykke-Andersen et al. Protocol for generating customizable and reproducible plots of sequencing coverage data using the seqNdisplayR package
EP3699863A1 (en) Image interpretation device
CN109460525A (zh) 简讯类文章的展示方法、装置、介质和计算设备
JP7331880B2 (ja) 複素関数のグラフ化方法、プログラム、情報処理装置
Vardhan Tile Narrative: Scrollytelling with grid maps

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: 13806192

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14350721

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2014550036

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13806192

Country of ref document: EP

Kind code of ref document: A1