WO2008015825A1 - Données de polices pour l'écriture de lettres et système de génération de lettres - Google Patents

Données de polices pour l'écriture de lettres et système de génération de lettres Download PDF

Info

Publication number
WO2008015825A1
WO2008015825A1 PCT/JP2007/058428 JP2007058428W WO2008015825A1 WO 2008015825 A1 WO2008015825 A1 WO 2008015825A1 JP 2007058428 W JP2007058428 W JP 2007058428W WO 2008015825 A1 WO2008015825 A1 WO 2008015825A1
Authority
WO
WIPO (PCT)
Prior art keywords
stroke
character
information
writing
strokes
Prior art date
Application number
PCT/JP2007/058428
Other languages
English (en)
French (fr)
Inventor
Hiromi Shiraishi
Makoto Onizuka
Original Assignee
Kabushiki Kaisha Digimoji
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 Kabushiki Kaisha Digimoji filed Critical Kabushiki Kaisha Digimoji
Priority to JP2008527673A priority Critical patent/JPWO2008015825A1/ja
Publication of WO2008015825A1 publication Critical patent/WO2008015825A1/ja

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/06Foreign languages
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/246Generation of individual character patterns of ideographic or arabic-like characters

Definitions

  • the present invention relates to written font data used in a computer such as a personal computer, a television with a built-in microcomputer, a mobile phone, a PDA, an electronic dictionary, and other electronic devices, and characters based on the written font data.
  • the character output system that outputs the shape information of each stroke constituting each character, the time font information and the character composition information when the person writes them, and the It relates to a character output system that outputs character data in units of strokes.
  • Font data used in conventional computers, mobile phones, televisions, etc. does not have information for dynamic expression, and is basically composed only of data of the entire character. It was.
  • conventional font data is so-called static character font data that only displays a stationary glyph (glyph) at a time as if it were pressed, and it cannot be further decomposed. It was the font data for the entire so-called glyph, with the whole as a unit.
  • the present invention provides written font data that can be easily realized in an application or the like that is used by a general user to write characters in units of strokes without creating a separate moving image file or program code.
  • Another object of the present invention is to provide a character output system capable of writing characters in units of strokes based on such written font data.
  • Another object of the present invention is to provide high-value-added written font data and a character output system that can contribute to the inheritance of information related to character writing in the next-generation character handling by computers and the like. To do.
  • the written font data of the present invention includes stroke information relating to a stroke corresponding to one stroke when writing each character, and writing information relating to writing characters in units of strokes using this stroke information.
  • the stroke information includes at least outline information of each stroke, and the writing information includes stroke order information related to the stroke writing order of each character.
  • writing refers to drawing in units of strokes
  • writing refers to drawing in units of characters
  • writing refers to drawing in units of characters or phrases. To do. Both of these are traditional characters by displaying each character as if it were pressed on the entire glyph. This is different from static drawing of units.
  • the stroke information includes ridge line information having a drawing start / end point corresponding to a ridge line of a stroke of a writing tip when each stroke is drawn, It is preferable that the information includes writing time information related to the time spent drawing each stroke, and interval time information between strokes related to the time between writing one stroke and the next stroke.
  • the written font data according to any one of the above, and further includes character configuration information related to configuring a character by one or a plurality of strokes, and the character configuration information includes at least: It is preferable to have character part information regarding handling one or a plurality of strokes constituting a character as a character part in groups.
  • each of the characters composed of character parts such as radicals in Chinese characters, and the characters such as Hangul, Thai characters, Dave Anagari characters, etc., respectively. It is also possible to obtain the font data information of the character parts. This makes it possible to draw each character component unit, to write characters by drawing each radical in order, and to retrieve and use information on character components.
  • the character configuration information preferably includes total stroke number information and character part number information for each character.
  • the character composition information information on the number of total strokes constituting each character (that is, the number of strokes) and information on the number of character parts constituting each character, Font data power can also be acquired.
  • Search by the number of strokes, or classification of the number of syllables in the combined syllable characters becomes possible.
  • the character output system of the present invention is capable of writing or printing characters on the output screen in units of strokes or units of character parts based on any of the above-described written font data.
  • the character font data and character output system of the present invention is an application in which a general user uses a character in units of strokes without creating a moving image file or a program code by taking the above-mentioned means. Etc. can be easily realized.
  • the present invention relates to shape information in units of strokes constituting each character, and letter font data having time information and character composition information when a person writes them.
  • the Written Font Renderer is general-purpose basic software, and exposes its API (application program 'interface') so that all software that handles characters and its ablation ability can be used.
  • API application program 'interface'
  • Through the API it is possible to develop software and applications that can perform static drawing and dynamic drawing in character stroke units.
  • these functions can be implemented by developing and providing add-in software that expands the functions.
  • the written font data further includes data that should be called dynamic configuration font data.
  • the dynamically composed font data also has a header section about the data capacity and offset position where each data is recorded, and a body / section that describes the actual contents of the data.
  • the body section contains stroke information, writing information, character composition information, and extended auxiliary information (Table 1).
  • each stroke that composes one character is called a stroke.
  • the stroke of one stroke is one stroke
  • the character “woman” is composed of three strokes, as well as “A”!
  • the alphabet also consists of 3 strokes.
  • Any character that can be "written” is composed of one or more strokes and can be broken down into each stroke.
  • the character composition of strokes includes Hiragana, Katakana, English letters, numbers, and Chinese simplified characters. It is thought that it can be applied to characters around the world such as Chinese characters, Hangul, and Daveana-Gary characters.
  • a stroke can be represented by a line with a thickness or a point with a width, and its outline forms one closed curve.
  • the outline curve that forms the outline is described as B-spline or citrus curve data.
  • edge information with the drawing start and end points of each stroke.
  • the outline is filled and the stroke is drawn.
  • the decorative element parts such as “serif” and “cobb” mentioned above are considered to be attached parts of the stroke, and have edge information regarding the figure of the stroke body excluding the decorative part.
  • This edge information can also be represented by B-spline and Bezier curve data.
  • the drawing start and end points of the brush tip with the thickness are on the ridgeline and inside the outline as shown in the figure. Note that when drawing a point stroke, the edge information is data for only one point where the drawing start and end points match (Figure 9).
  • the ridge line information is appropriately determined so as to fill in a spiral shape.
  • the stroke at the head of the note is filled with code 2 as the “start point of the handwriting”.
  • the display of characters is finally performed in units of physical pixels (dot matrix) on a display which is a display device.
  • outline fills are actually converted to bitmap data.
  • bitmap 'data does not fit well with the physical dot matrix, and characters cannot be displayed well There is.
  • Conventional fonts have hinting information in preparation for such a case. this Therefore, hinting information for each stroke is also required for written font data.
  • the writing information includes stroke order information that defines the stroke order of each stroke, and writing time information related to the time and speed at which each stroke is drawn.
  • the stroke order information defines the stroke order, and is indicated by the order of stroke numbers. Stroke numbers are usually assigned consecutively according to the writing order, and in that case, the stroke order information can be omitted. However, from the viewpoint of graphic processing, it is conceivable to assign a stroke number according to the position condition, and it is desirable to have stroke order information as independent data separately. In addition, the stroke number order and the stroke order information need to be independent in order to determine another order for the sub-strokes described above.
  • the stroke order shall be uniquely determined for each character. A certain stroke order is determined even for characters such as symbols that have unclear stroke order. For example, the writing order of “notes” in FIG. 6 is defined as the order of stem 1, note head 2 and tail 3, and the writing order of “arrows” in FIG.
  • the writing time information can be described in combination with the stroke order information. For example, for the first stroke drawing, stroke number 1 is drawn at 0.3 seconds, then at intervals of 0.1 second, and for the second stroke drawing, stroke number 2 is drawn at 0.1 seconds. Data such as Can be described by defining an appropriate format. In the example at the top of Figure 11, stroke number 1 is drawn at 0.20 seconds, then 0.15 seconds are added, stroke number 2 is drawn at 0.30 seconds, and after 0.10 seconds. Draw stroke number 3 in 0.15 seconds. Similarly, in the example at the bottom of Fig. 11, stroke numbers 1 and 2 are drawn at 0.20 seconds, stroke number 3 is drawn at 0.05 seconds, and the interval between strokes is 0.10 seconds.
  • the character configuration information includes information on the character parts that make up the character and number information on the total number of strokes and the number of character parts.
  • the part information related to the character configuration is information related to the character part that handles one or a plurality of strokes as a group unit. For example, in Kanji, one or more strokes are grouped together and treated as a “radical”, and in combined syllable characters such as Hangul and Daveana 1 Gary characters, one or more strokes are grouped together as a “moji”. deal with. As for the alphabet, there are also letters with diaterical marks such as “Umlaut” in German and “Axan” and “Sedu” in French. In FIG. 12, the thinly shown portions indicate character parts such as “radical”, “character base”, and “diacritical mark”, respectively.
  • fonts In conventional fonts, this information is described as independent data. The inclusion of these data in the basic data called fonts greatly contributes to character classification, character education, and character culture inheritance.
  • the character part information is data such as the names of these character parts, which stroke force is used, and the writing order in character part units.
  • the kanji for “Ri” is made up of “bias”, “Nogihen” and “ ⁇ ”, “Ritto”.
  • “Nogihen” consists of 5 strokes with stroke numbers 1-5.
  • “To” consists of two strokes with stroke numbers 6 to 7, and "Ri” has data in the appropriate format, such as "Nogihen” written in the first and "Litto” written in the second. Describe as described in.
  • the term of the character parts such as “bias”, “ ⁇ ”, “nogihen”, “ritto” is encoded as appropriate. Note that characters that are not composed of such character parts For this, this information is blank.
  • the text font renderer has a function that draws characters in units of strokes based on the text font data.
  • Drawing in units of strokes includes static drawing and dynamic drawing.
  • Static drawing is a function that draws a part of a character or draws a character by color by stroke or character part.
  • Dynamic drawing is a function that allows characters to be drawn according to the stroke order as a person writes, or to reverse the stroke order / stroke direction or draw in random order.
  • Fonts are used in all software and applications that handle characters. Therefore, the written font renderer is positioned as a general-purpose basic software, just like the conventional font renderer. It can be installed as a part of various electronic device control software and OS functions in parallel with the conventional font renderer or as a software with upward compatibility, replacing it with the conventional font renderer. Desirable ( Figure 13).
  • the font font renderer exposes its functions as an API, so that other software applications can operate the font font renderer and utilize the font font data through the API, that is, It becomes possible to use the writing function.
  • electronic devices such as personal digital assistants and electronic dictionaries should be developed as electronic devices with a writing function by incorporating programs that directly operate the writing font renderer through the API. Can do.
  • an add-in is a software that is added to an existing application 'software and adds a function.
  • the writing function add-in functions as an interface between the application and the writing font renderer. .
  • presentation 'software can still animate characters, but it is an animation based on the entire character shape, and it is not easy to perform partial color coding or stroke order animation. Absent.
  • presentation software by developing and incorporating a writing function add-in for the presentation software, it becomes possible to easily perform partial color coding of characters and stroke order animation, and to provide richer expressiveness to the software. You can.
  • the writing function can be used in each application.
  • the writing function can be used not only for computers but also for various electronic devices such as mobile phones.
  • writing by a robot can be realized.
  • the edge information of the stroke information of the written font data indicates the data of the stroke of the brush tip! / If you develop a program that acquires stroke order information and ridgeline information using the information acquisition API of the written font renderer and controls the movement function of the mouth bot accordingly, it is possible to let the robot write.
  • the first function is to obtain information on written font data. For example, it is possible to acquire drawing time information in the character information, information on the “radical” that is a character part in the character composition information, and the like.
  • the second function is to draw characters statically in units of strokes based on written font data. For example, it is possible to draw only a specific radical with the full-width character position, or draw by color for each stroke or radical (Fig. 1, Fig. 2, Fig. 15).
  • a third function is to draw characters over time based on written font data. For example, characters are drawn over time according to the stroke order as a person writes, or the stroke order is drawn by reversing the stroke direction, or drawn in random order (Figs. 3 and 16). In doing so, each stroke is drawn over time, for example, the left force is drawn to the right, the stroke is drawn as if typing, and the dynamic drawing is changed! It is also possible.
  • the first function is merely reading data, it can be easily realized.
  • the second function is essentially the same as the function of the conventional font renderer, and its implementation method follows the conventional font renderer. Partial color coding of characters is also possible by creating images for each stroke and combining them.
  • the third function is a function that the conventional font renderer does not have.
  • dynamic drawing can be realized by applying the principles of current video software.
  • a movie is also composed of a collection of several frame images per second. For example, creating a movie with 24 frames per second means creating 24 still frame images every 1/24 second. That is.
  • the handwritten font renderer obtains device information such as the OS and secures a frame buffer for drawing with an appropriate size and number accordingly. And
  • the timing is taken according to the timer function provided by the OS, etc., and images are sequentially created in advance from the stroke information and written information of the written font data.
  • the image data is sent as display data at an appropriate timing by a call from the application or add-in side (Fig. 17).
  • the drawing frame buffer that has been sent out can be used to create and draw a new image, so it is not necessary to prepare the drawing frame buffer for the number of all frames.
  • the stroke order moving image can be performed in units of characters, but can also be performed on character groups such as words and sentences.
  • the stroke order animation of the next character is started after a certain period of time after the stroke order animation of one character is finished so that the person writes the character.
  • the writing font renderer manages the interval time between writing one character and the next. For example, when a group of characters includes a line change, it takes more time to change the line than when it is between normal characters ( Figure 18). And these interval times can be changed and fine-tuned by setting the font font renderer.
  • One of the features of the character output system of the present invention is that a conventional font and a character font can be used together in one document (Figs. 2 and 3). At that time, the problem of how to distinguish between conventional fonts and written fonts is solved as follows.
  • This writing attribute can be regarded as a kind of character attribute currently used.
  • character attributes that specify basic typeface deformation such as size and color, italic 'bold' and underline for each character / character group.
  • This character attribute is described and stored as binary data related to the character / character group in the data file, and the character attribute is reflected in the output when screen display or printing is performed.
  • writing attributes can be entered for each character group when creating a data file.
  • the character attributes are described and stored in the data file as a kind of character attributes, and the character attributes are reflected in the output when displayed on the screen or printed.
  • Fig. 19 shows an example of 1. the original text before inputting the text attributes, 2. input of the text attributes for a character in the text, 3. screen display after the text attributes are reflected .
  • the data file format is usually an HTML file.
  • HTML file character attributes are described by tags and style sheets.
  • tags and style sheets it is possible to formulate new tags and style sheets for written attributes that are standardized by the W3C. Recognize these extended tags and stylesheets, and do what is appropriate for a written font renderer. By embedding a writing function add-in that allows the user to do so, it is possible to achieve writing on the Web using written fonts (Fig. 20).
  • the Web browser only has a function of reading an HTML file, which is a data file, and displaying or printing it on a screen, and does not have a function of creating an HTML file.
  • HTML files are created by HTML editors and Web page creation applications. Therefore, in the case of the Web, the function to input the writing attributes in the data file is developed as an add-in that adds functions to the HTML editor-powered Web page creation application.
  • the written font data of the present invention is not limited to use in combination with a written font renderer, and can be used for various purposes. For example, in language learning software, electronic dictionaries, etc., it is possible to search for characters that have common character parts such as bias and font using the character composition information of the written font data, or the number of character parts You can search for common characters. In this case, the dynamic drawing of the characters extracted by the search is not necessary, and it can be simply displayed.
  • the dynamic output according to the stroke order, the output in units of strokes or character parts This can be done easily by changing the font used.

Description

明 細 書
書字フォントデータ及び文字出力システム
技術分野
[0001] 本発明は、パーソナルコンピュータ等のコンピュータや、マイクロコンピュータを内蔵 したテレビ、携帯電話、 PDA,電子辞書その他の電子機器で使用される書字フォント データ、および書字フォントデータに基づいて文字を出力する文字出力システムに 関し、より詳細には、各文字を構成するストローク単位の形状情報とそれらを人が書く ときの時間情報や文字構成情報を有した書字フォントデータ、および、これを用いて 文字データをストローク単位で出力する文字出力システムに関する。
背景技術
[0002] 従来のコンピュータや携帯電話、テレビ等で使用されるフォントデータは、動的表現 のための情報を持っておらず、基本的に文字全体の形状のデータのみから構成され るものであった。すなわち、従来のフォントデータは、静止した字形 (グリフ)を判子を 押したように一度に字形全体で表示するだけの、いわゆる静止文字のフォントデータ であり、また、それ以上分解することができない字形全体を単位とした、いわゆる字形 全体のフォントデータであった。
[0003] 上記従来のフォントデータからは、文字のストローク単位の筆順情報を得ることはで きな力つた。このため、文字の筆順を教えるための語学学習用ソフト等のアプリケーシ ヨンにおいては、ディスプレイ上での従来のフォントデータを使用した文字のストロー ク単位の筆順書字は、例えば下記のような文字の動的表現によって行われて 、た。 •バイナリの動画ファイルを作成して、この動画ファイルを、対応するソフトによって再 生する(例えば、特開平 8— 205032号公報参照)。
•バイナリの動画ファイルを用いずに、動的表現に対応したプログラムコードを書くこと によって、従来のフォントデータを使用して文字の動的表現を実施する。
発明の開示
[0004] し力しながら、上記動画ファイルやプログラムコードを別途作成するには手間や時 間がかかり、また、ストローク単位の文字の書字を、一般ユーザーが利用するワープ 口ソフトやプレゼンテーション.ソフトといったアプリケーション等において容易に実現 することはできな力つた。
[0005] また、手書きの文字に代わってコンピュータ等による文字の取り扱いが飛躍的に増 大している今日においては、文字を構成するストロークの筆順をはじめとする文字の 書字に関する情報が失われ、次世代へ継承されにくくなりつつある。
[0006] そこで本発明は、別途動画ファイルやプログラムコードを作成することなぐストロー ク単位の文字の書字を一般ユーザーが利用するアプリケーション等において容易に 実現することのできる書字フォントデータを提供すること、或 、はこのような書字フォン トデータに基づいてストローク単位の文字の書字を行うことのできる文字出力システム を提供することを課題とする。
[0007] また、コンピュータ等による次世代の文字の取り扱いにおける、文字の書字に関す る情報の継承に寄与しうる付加価値の高い書字フォントデータ及び文字出力システ ムを提供することを課題とする。
[0008] 上記課題を解決すベぐ本発明では下記(1)〜(5)の手段を講じている。
[0009] (1)本発明の書字フォントデータは、各文字を書くときの一筆にあたるストロークに 関するストローク情報と、このストローク情報を用いて文字をストローク単位で書字す ることに関する書字情報とを有してなり、前記ストローク情報は、少なくとも各ストローク のアウトライン情報を有し、前記書字情報は、各文字におけるストロークの筆記順序 に関する筆順情報を有することを特徴とする。
[0010] このようなものであれば、必ずしも動画ファイルや動的プログラムを予め作成しなく ても、各文字を一筆単位で筆順に従って書字するための情報をフォントデータ力 直 接取得することができる。さらに、これにより例えば、一般ユーザーが利用するアプリ ケーシヨン等において、各文字を構成するストローク単位の書描や、各文字に関し、 複数のストロークの筆順通りに書描することによる書字や、これらを伴った文字群や 語句の筆記を行うことが容易に実現可能となる。
[0011] なお本発明において、「書描」とはストローク単位の描画を、「書字」とは文字単位の 描画を、「筆記」とは、文字群や語句単位の描画をそれぞれいうものとする。これらは いずれも、各文字を字形全体で判子を押したように表示することによる、従来の文字 単位の静的描画とは異なる。
[0012] (2)また、前記書字フォントデータにおいて、ストローク情報は、各ストロークを書描 するときの筆先の軌跡の稜線に対応する、描画始終点を持った稜線情報を有し、書 字情報は、各ストロークの書描に力かる時間に関する書描時間情報と、あるストローク 及びその次のストロークを書描する間の時間に関するストローク間の間隔時間情報と を有することが好ましい。
[0013] このようなものであれば、各ストロークの描画始終点、描画始点から描画終点へ向 力う方向、及び描画始終点間を繋ぐ筆跡位置が特定され、更に、前記筆跡をなぞる 所要時間が特定される。これにより、各ストロークの書描態様が決定し、各ストローク の筆先の軌跡に従った動的な書描が可能となる。
[0014] また上記に加え、複数のストロークによって文字が構成されるとき、筆記順が連続す る二つのストロークのそれぞれの書描の時間的間隔が特定される。このため、運筆上 の"間"の情報を得ることができ、人が文字を書くときのような、自然な書字が可能とな る。
[0015] (3)また、前記いずれか記載の書字フォントデータであって、更に、一又は複数の ストロークによって文字を構成することに関する文字構成情報を有し、この文字構成 情報は、少なくとも、文字を構成する一又は複数のストロークをグループ単位にして 文字部品として扱うことに関する文字部品情報を有するものとすることが好ましい。
[0016] このようなものであれば、例えば漢字における部首や、ハングル、タイ文字、デーヴ アナ一ガリー文字等の字母のような、文字部品を有して構成される文字に関し、それ ぞれの文字部品の情報をフォントデータ力も取得することができる。これにより、各文 字部品単位の描画や、各部首を順に描画することによる文字の書字や、文字部品の 情報の検索利用等が可能となる。
[0017] (4)また、前記(3)の書字フォントデータにおいて、文字構成情報は、各文字にお ける総ストロークの個数情報及び文字部品の個数情報を有することが好ましい。
[0018] このようなものであれば、文字構成情報として、各文字を構成する総ストロークの個 数 (すなわち、画数)に関する情報、及び各文字を構成する文字部品の個数に関す る情報を、フォントデータ力も取得することができる。これにより例えば、画数分類や 画数による検索、或いは、結合音節文字における音節数の分類が可能となる。
[0019] (5)また、本発明の文字出力システムは、前記いずれか記載の書字フォントデータ に基づいて、ストローク単位もしくは文字部品単位で出力画面に文字を書字、または 印字しうることを特徴とする。
[0020] このようなものであれば、文字の一部分を出力画面へ表示したり、この書字によって ストローク単位もしくは文字部品単位で文字群や語句を出力画面上で筆記したり、ま た印字することが可能となる。
[0021] 特に、前記(1)記載のフォントデータに基づくときは、通常の全角又は半角のフォン ト位置への、筆順に従った 1ストローク毎の静的な表示が可能となり、また、前記(3) 記載のフォントデータに基づくときは、通常の全角又は半角のフォント位置への、 1文 字部品毎の静的或いは動的な表示が可能となり、また部品毎の印字も可能となる。
[0022] また特に、前記(2)記載のフォントデータに基づくときは、各ストロークの筆跡に従つ た動的な表示が可能となり、文字や文字群を人間が書くように自然に描画するものと なる。
[0023] 本発明の書字フォントデータおよび文字出力システムは、上記手段を講じることに よって、別途動画ファイルやプログラムコードを作成することなぐストローク単位の文 字の書字を一般ユーザーが利用するアプリケーション等において容易に実現するこ とのできるものとなる。
[0024] また、筆順をはじめとする文字の書字に関する情報に関し、書字の情報を文字の取 り扱いの次世代へ継承することに寄与しうるものとなり、フォントデータとしてより付カロ 価値の高いものとなる。
図面の簡単な説明
[0025] [図 1]本発明の書字フォントデータを使った、文字を構成する部品ごとに静的に描画 する例を示す説明図である。
[図 2]本発明の書字フォントデータを使った、 1文字の全角 ·半角位置への 1部分の描 画例を示す説明図である。
[図 3]従来の静的な文字表示と本発明の書字フォントデータを使った筆順動画とを混 在して表示した例を示す説明図である。 [図 4]ストロークの例を示す説明図である。
[図 5]ストロークの一部に属するセリフ、及びコブの例を示す説明図である。
[図 6]塗りつぶし部分をもつ記号や絵文字で取り決められたストロークの塗りつぶし方 の例を示す説明図である。
[図 7]ストローク分解の仕方の相違によるサブストロークの例を示す説明図である。
[図 8]各ストロークの描画始終点を持った稜線情報の始終点の説明図である。
[図 9]点ストロークを描画する場合の稜線情報の例を示す説明図である。
[図 10]単純ワイプと筆跡の塗りつぶし方の相違を示す比較説明図である。
[図 11]書描時間情報と筆順情報とを組み合わせて記述した例を示す説明図である。
[図 12]文字構成に関する部品情報の例を示す説明図である。
[図 13]本発明の書字フォントレンダラーと書字フォントデータの組み込み例を示す説 明図である。
[図 14]アプリケーションに書字機能を持たせるための、本発明の書字フォントレンダラ 一と書字フォントデータの組み込み例を示す説明図である。
[図 15]文字をストローク単位で静的に描画した例を示す説明図である。
[図 16]筆順 ·運筆方向を逆転して描画した例を示す説明図である。
[図 17]描画用フレームノッファ内の画像データの例を示す説明図である。
[図 18]文字群に関して行う筆順動画の間隔時間の例を示す説明図である。
[図 19]書字属性の指定方法例を示す説明図である。
[図 20]書字属性の指定方法例を示す説明図である。
発明を実施するための最良の形態
[0026] 1. 概要
フォントは、電子文字を描画するときの「字形 (グリフ)」の情報を持ったデータである 。それは、ディスプレイに文字を表示したり、プリンタで文字を印刷したりするときに、 最も基本となるデータであり、コンピュータ、携帯情報端末、携帯電話、デジタルテレ ビ、プリンタなどにおいて、汎用的に利用されている。
[0027] しかし、従来のフォントは、各文字について文字全体の字形のデータを持つにすぎ ない。それは、紙に印刷するために用いられた活字やタイプライターと同様に、判子 を押すように 1つの文字の全体が一度に描画されている。つまり、従来のフォントデー タでは、画面表示においても印刷においても、文字全体の描画しかできないのであ る。
[0028] 文字は「読む」ことだけでなく「書く」ことができなければならない。この文字を「書く」 ことを動的に表現しょうとする場合、従来のフォントデータだけではそれは不可能であ る。これを実現するためには、文字を構成する要素を一筆ごとに分解しグラフィック化 したのちに、アニメーション動画を作成する複雑な作業が必要となる。これは、従来の フォントは、「読む」ための文字データを持っている力 「書く」ための文字データを持 つていないからである。そこで、この「書く」という行為に注目して、文字を一筆ごと、す なわち、ストローク単位で構成する新しいフォントデータが次の世代のフォントとして 構想される。
[0029] 本発明は、各文字を構成するストローク単位の形状情報とそれらを人が書くときの 時間情報や文字構成情報を有した書字フォントデータに関するものである。
[0030] ここで、本発明の書字フォントデータが対象とする文字は、従来のフォントが対象と する文字と同じである。例えば、日本語であるならば、 ASCII文字や半角カタカナ文 字や JIS X 0208— 1997のような電子文字セットを対象とする。よって、それらの電 子文字は、従来と同じ符号ィ匕方式で特定され取り扱うことができる。それらには、半角 文字、全角文字を問わず、アルファベット、数字、ひらがな、カタカナ、漢字、記号な どが含まれている。また、日本語に限らず、あらゆる言語の文字、例えば、中国簡体 字ゃノ、ングルやデーヴアナ一ガリー文字などを対象とすることができる。そして、書字 フォントデータは、従来のフォントデータと同様、フォントファイルとして提供され、あら ゆる記憶媒体に記録されうるものとする。
[0031] 一方、各電子機器を制御しているソフトや OSには、従来のフォントデータを描画す るための機能が備わっている。それは、システムによって様々な名称で呼ばれるが、 本書では、それを、フォントデータに基づいて文字を描画する機能の意味で、「フォン トレンダラー」と呼ぶことにする。現行の OSなどに組み込まれているフォントレンダラ 一は、フォントデータに基づいて文字の全体画像データを作成し、その静的な画像 データをディスプレイドライバやプリンタドライバに送っているにすぎない。つまり、そ れは文字全体を一度に表示したり印刷したりする機能しか有していない。
[0032] ここで、本発明の書字フォントデータに基づいて、文字をストローク単位で描画する ためには、新しいフォントレンダラーが必要となる。これを「書字フォントレンダラー」と 呼ぶことにする。これは、従来のように文字全体を静的に描画することに加え、 1文字 の部分を静的に描画することができ、さらに文字を人が書くように動的に描画できる 機能を備えるフォントレンダラーである。
[0033] 書字フォントレンダラーは、汎用の基本ソフトであり、文字を扱うあらゆるソフトやアブ リケーシヨン力も利用できるように、その API (アプリケーション ·プログラム 'インターフ エース)を公開する。そして、その APIを通じて、文字のストローク単位での静的描画 や動的描画を行えるソフトやアプリケーションを開発することができる。また、既存のァ プリケーシヨンに関しては、機能拡張を行うアドイン'ソフトを開発、提供することにより 、それらの機能を実装することができる。
[0034] 本発明は、上記の書字フォントデータ、および、それを用いて、文字データをスト口 ーク単位で出力する文字出力システムに関するものである。文字データをストローク 単位で出力する代表例として、本書では、文字をストローク単位で描画する書字フォ ントレンダラーの説明を行う。この書字フォントデータと書字フォントレンダラー力 な る書字フォントシステムは、従来のフォントシステムと並列して、もしくはそれに代わる ものとして、各電子機器を制御しているソフトや OSに組み込まれることが望ましい。
[0035] 以下、本発明を実施するための最良の形態例を、各図を付して説明する。
[0036] なお、図 1は本発明の書字フォントデータを使った、文字を構成する部品ごとに静 的に描画する例を示す説明図である。図 2は本発明の書字フォントデータを使った、 1文字の全角 ·半角位置への 1部分の描画例を示す説明図である。図 3は従来の静 的な文字表示と本発明の書字フォントデータを使った筆順動画とを混在して表示し た例を示す説明図である。図 4はストロークの例を、図 5はストロークの一部に属する セリフ、及びコブの例をそれぞれ示す説明図である。図 6は塗りつぶし部分をもつ記 号や絵文字で取り決められたストロークの塗りつぶし方の例を示す説明図である。図 7はストローク分解の仕方の相違によるサブストロークの例を示す説明図である。図 8 は各ストロークの描画始終点を持った稜線情報の始終点の説明図であり、図 9は点ス トロークを描画する場合の稜線情報の例を示す説明図である。図 10は単純ワイプ( 上図)と稜線情報を有する筆跡 (下図)との、塗りつぶし方の相違を示す比較説明図 である。図 11は書描時間情報と筆順情報とを組み合わせて記述した例を示す説明 図である。図 12は文字構成に関する部品情報の例を示す説明図である。
[0037] また、図 13は本発明の文字出力システムとして、本発明の書字フォントレンダラーと 書字フォントデータの組み込み例を示す説明図である。図 14は本発明の別の文字 出力システムとして、アプリケーションに書字機能を持たせるための、本発明の書字 フォントレンダラーと書字フォントデータの組み込み例を示す説明図である。また図 1 5、図 16は、本発明の別の文字出力システムによる、それぞれ文字をストローク単位 で静的に描画した例、及び、筆順 ·運筆方向を逆転して描画した例を示す説明図で ある。図 17は描画用フレームバッファ内の画像データの例を示す説明図である。図 1 8は文字群に関して行う筆順動画の間隔時間の例を示す説明図である。そして、図 1 9及び図 20は、書字属性の指定方法の例を示す説明図である。
[0038] 2. 書字フォントデータ
2- 1. 静的全体フォントデータと動的構成フォントデータ
本発明の書字フォントデータは、従来のアウトラインフォントのデータの拡張版であ り、従来のフォントとしても使用できる。それにより、従来のフォントと本発明の書字フ オントを使った描画を、 1つの文章の中で混在することができるように構想している。 つまり、従来の 1文字の全角'半角の位置に、本発明の書字フォントデータを使って、 その 1文字の 1部分を描画することができる。例えば、図 2に示すように、図 1において 文字を構成する部品ごとに分解した文字の一部分を 1つの文章の中に組み込むこと ができる。
[0039] また、画面表示においては、従来の静的な文字表示と書字フォントデータを使った 動的な文字表示、例えば筆順動画を混在して表示しうる。例えば図 3に示すように、 時間の経過と共に上段から下段に進むにつれ、人が書 、て 、るように動的に描画さ れる。
[0040] ここで、従来の全体文字についての静的なフォントに関するデータを、静的全体フ オントデータと呼ぶことにする。書字フォントデータは、この静的全体フォントデータに カロえて、さらに、動的構成フォントデータというべきデータを持っている。
[0041] 書字フォントデータの持つ、静的全体フォントデータは、従来のアウトラインフォント のデータと同様のものである。それは、データの容量や各データを記録しているオフ セット位置などに関するヘッダ ·セクションと、データの実内容を記述したボディ ·セク シヨン力もなる。ボディ ·セクションには、全体文字のアウトライン、文字コードとそのグ リフ IDコードへのマッピング、フォントファミリー、メトリックス、ヒンティングなどに関する 情報が記述される。ここで、この静的全体フォントデータの部分を、 OpenTypeのよう な既に公開されているフォントフォーマットをベースとして策定するならば、書字フォン トデータは、従来のフォントデータに対して互換性を持つことが可能になる。
[0042] 書字フォントデータは、この静的全体フォントデータに加えて、さらに、動的構成フ オントデータというべきデータを持っている。その動的構成フォントデータも、データの 容量や各データを記録しているオフセット位置などに関するヘッダ 'セクションと、デ 一タの実内容を記述したボディ.セクション力もなる。ボディ ·セクションには、ストロー ク情報、書字情報、文字構成情報、拡張補助情報が含まれる (表 1)。
[0043] [表 1]
大分類 セクション分類 中分類 小分類
静止全体 ヘッダ セクション 静止全体フォントデータ -ファイル内のどこにどういうデータがあるの フォン卜 のデータ構造に関するメ か、 そのアクセス用のメタデータなど データ タデータ
ボディ セクション ■文字コードとグリフ とのマッピング
-フォントファミリ一の情報
■文字全体に関するメトリックス情報
-データ数やサイズの情報
•文字全体のァゥ卜ライン情報
■ ヒンティング ·力一ニング' リガチヤ等 動的構成 ヘッダ セクション 動的構成フォントデータ -ファイル内のどこにどういうデータがあるの フォン卜 のデータ構造に関するメ か、 そのアクセス用のメタデータなど データ タ丁一タ
ホ丁ィ セクション ストローク情報 •ス卜ローク番号
■各ストロ一クのァゥトライン情報
■各ストロークの描画始終点を持った稜線情報 -各ストロークに関するメトリックス情報 -ストローク単位のヒン亍イング等
書字情報 -筆順情報
•各ストロークの書描時間情報
•スト口一ク間の間隔時間情報
文字構成情報 •文字部品情報
■総ストロークの個数情報
•文字部品の個数情報
拡張補助情報 -サブストローク情報
•複数の筆順を持つ場合の
その他の筆順情報
■各ストロ一クの細部における区間速度、 区間加速度の情報
[0044] 2- 2. ストローク
まず、 1つの文字を構成する 1筆ずつをストロークと呼ぶ。例えば、図 4に示すように 、 日本語の漢字では、 1画 1画の字画がストロークであり、「女」という漢字は、 3スト口 ークからなり、同様に「A」と!、うアルファベットも 3ストロークからなる。
[0045] ストロークは、文字を構成する図学的な単純直線や単純曲線ではなぐ太さを持つ た屈曲線や広さを持った点である。また、ストロークは、フォントデザインにおけるエレ メントにまで文字を分解したものではない。エレメントには、図 5に示されるような英数 字の装飾部である「セリフ」や漢字の「コブ」なども含まれる力 それらは、し力るべきス トロークに属するとして取り扱う。
[0046] どのような文字であれ、「書く」ことのできる文字は、 1つもしくは複数のストロークから 構成され、各ストロークに分解することができる。その分解の仕方や書き順に関しては 、その文字を「書く」文化の中で、標準的なやり方が確定していると見なせる。したが つて、ストロークによる文字構成は、ひらがな、カタカナ、英字、数字をはじめ、中国簡 体字、ハングル、デーヴアナ一ガリー文字など世界中の文字に適用できると考えられ る。
[0047] 書くことができる記号についても同様であるが、塗りつぶし部分をもつ記号や絵文 字については、塗りつぶし部分は 1ストロークで塗りつぶすものと取り決めをしておく。 例えば、図 6に示す星印では、符号 1を始点として矢印方向に 1ストロークで描画され 、図 6に示す音符では、その符頭は符号 2を始点として矢印方向に 1ストロークで描画 される。
[0048] また、伝統的に複数のストローク分解の仕方がある場合は、その文字の文化の中で 代表的な分解の仕方にしたがってデータを記述する。このとき、他の分解の仕方に おけるストロークをサブストロークと呼ぶこととし、それを拡張補助情報として記述する こともできる。例えば、図 7に示すように、日本では 7ストロークに分解され、中国では 6 ストロークに分解される文字の場合、中国での分解の仕方におけるストロークをサブ ストロークと呼び、これを拡張補助情報として記述する。
[0049] なお、以下、 1文字を書くことに関する場合は「書字」、 1ストロークを書くことに関 する場合は「書描」と 、う用語を用いることにする。
[0050] 2- 3. ストローク情報
ストローク情報は、各ストロークの輪郭を定めたアウトライン情報と、各ストロークを描 くときの描画始終点を持った稜線情報を含む。さらに、それぞれのストロークを描く際 の範囲を定めたパウンデイング ·ボックスの情報を含む。これらの形状に関するデータ の座標と縮尺率は、前述の静的全体フォントデータのアウトライン情報に合わせる。 そして、 1文字を構成する各ストロークには、それぞれを区別する IDとなるストローク 番号を付与する。
[0051] 各ストロークのアウトライン情報を持てば、文字の一部分だけを描画することができ るようになる。ストロークは、太さを持った線や広さをもった点で表わすことができ、そ の輪郭は、おのおの 1つの閉曲線をなす。その輪郭をなすアウトライン曲線は、 Bスプ ラインやベジヱ曲線のデータとして記述される。
[0052] 各ストロークを人が書くように、例えば左力 右へ時間をかけて描画するためには、 その筆先の軌跡に関する情報が必要になる。その筆先の軌跡は、各ストロークのァゥ トライン図形の中心線を迪ることで再現できょう。そこで、各ストロークの描画始終点を 持った稜線情報を持つことにする。例えば、図 8に示される「筆跡の始点」と「筆跡の 終点」をストロークの描画始終点とする稜線情報を持つことにより、アウトライン内が塗 りつぶされてストロークが描画される。ただし、前述した「セリフ」や「コブ」のような飾り エレメント部分は、ストロークの付属部分とみなし、その装飾部を外したストローク本体 の図形に関して稜線情報を持つこととする。この稜線情報も、 Bスプラインやベジエ曲 線のデータで表わすことができる。その際、太さを持った筆先の描画始終点は、図に 示すように、稜線上で、かつ、アウトラインの内側にとることになる。なお、点ストローク を描画する場合、稜線情報は、描画始終点が一致した 1点のみのデータとなる(図 9)
[0053] 記号などで塗りつぶしストロークを描画する場合は、稜線情報は渦巻状に塗りつぶ すように適宜定める。例えば、図 6に示す音符の場合、その符頭のストロークは符号 2 を「筆跡の始点」として塗りつぶされる。
[0054] ところで、アウトライン内を単にワイビングで塗りつぶした場合、塗りつぶし境界は直 線的になってしまい不自然である(図 10上図)。一方、稜線情報を持つならば、それ にそって塗りつぶし効果をコントロールすることで、アウトライン内をペンや筆で書くよ うに自然に塗りつぶすことが可能となる(図 10下図)。なお、飾りエレメント部分は、ス トローク本体の描画に続けて自然に塗りつぶすこととする。
[0055] 各ストロークのメトリックス情報として、ストローク単位のパウンデイング'ボックスのデ ータが必要となる。パウンデイング'ボックスは、 XY座標に平行な 4辺を持ちストローク に外接する長方形である。それは、ストロークの XY座標の最大最小値を示しており、 文字の背景処理などに関して有用なデータである。
[0056] また、文字の表示は最終的には、表示装置であるディスプレイ上の物理ピクセル(ド ットマトリックス)単位で行われる。つまり、アウトライン図形の塗りつぶしは、実際はビッ トマップ ·データに変換される。ところが、小さな文字を表示するような場合、アウトライ ン図形を縮小して計算によってビットマップ ·データを生成すると、そのビットマップ' データが物理的なドットマトリックスにうまく合わず、文字がうまく表示できない場合が ある。従来フォントでは、このような場合に備えてヒンティング情報を持っている。この ため、書字フォントデータにおいても、ストローク単位でのヒンティング情報が必要とな る。
[0057] なお、先に述べたように、ある文字に複数のストローク分解の仕方がある場合は、代 表的なストローク分解の仕方を採用する。そして、他の分解の仕方に関するサブスト ローク情報は、拡張補助情報に記述する(図 7)。
[0058] 2-4. 書字情報
書字情報は、各ストロークの書き順を定めた筆順情報と、各ストロークを描く際の時 間や速度に関する書描時間情報を含む。
[0059] 筆順情報は、ストロークの書き順を定めたものであり、ストローク番号の順序で示す 。ストローク番号は、通常、書き順に合わせて連番で付与し、その場合、筆順情報を 省略することもできる。しかし、図学的処理上の観点からは、位置の条件にしたがって 、ストローク番号を付与することも考えられ、筆順情報はそれとは別に、独立のデータ として持つことが望ましい。また、前述のサブストロークに関する別の書き順を定める ためにも、ストローク番号順と筆順情報は独立である必要がある。なお、筆順は、各文 字に対して一義的に定めることとする。記号などのように、書き順が定かでない文字 についても、一定の筆順を定める。例えば、図 6の「音符」の書き順を、符幹 1、符頭 2 、符尾 3の順番と定め、図 6の「矢印」の書き順を、符号 2、 3の順番と定める。
[0060] また、同じ文字に関して複数の書き順が存在するときは、代表的なものを採用し、 他のものについては拡張補助情報に記述する(図 7)。
[0061] 書描時間情報は、各ストロークを人が書くように動的に描画する際に必要となる情 報である。まず、各ストロークを人が書くように自然に描画する標準速度、および、そ れに力かる標準時間を記述する。一定速度で描画するならば、描画時間は、前述し た稜線の描画始終点間の道のり長さに比例すると考えられる力 飾りエレメントがある 場合は、その分の描画時間が力かるであろう。そしてまた、あるストロークと次のスト口 一クを書描する間を空ける間隔時間情報を記述する。
[0062] これらの書描時間情報は、筆順情報と組み合わせて記述することができる。例えば 、第 1ストローク描画は、ストローク番号 1を 0. 3秒で描画し、次に、 0. 1秒の間隔を空 け、第 2ストローク描画は、ストローク番号 2を 0. 1秒で描画し、などというようなデータ を、適宜のフォーマットを定めて記述できる。図 11上段の例では、ストローク番号 1を 0. 20秒で描画し、次に 0. 15秒の間隔を空け、ストローク番号 2を 0. 30秒で描画し 、 0. 10秒の間隔の後、ストローク番号 3を 0. 15秒で描画する。同様に、図 11下段の 例では、ストローク番号 1および 2を 0. 20秒で、ストローク番号 3を 0. 05秒で描画し、 各ストロークの間隔を 0. 10秒、としている。
[0063] なお、文字を人が書くようにより自然に描画するためには、各ストロークの稜線に関 して、それを構成する線素区間ごとに速度や加速度を指定し、拡張補助情報として 記述することも可能である。
[0064] 2- 5. 文字構成情報
文字構成情報は、文字を構成する文字部品に関する情報と、総ストローク数や文 字部品数に関する個数情報を含む。
[0065] 文字構成に関する部品情報は、一または複数のストロークをグループ単位として扱 う文字部品に関する情報である。例えば、漢字では、一または複数のストロークをまと めて、「部首」として扱い、ハングルやデーヴアナ一ガリー文字のような結合音節文字 では、一または複数のストロークをまとめて、「字母」として扱う。また、アルファベットに 関しても、ドイツ語では「ウムラウト」、フランス語では「ァクサン」「セディーュ」のような ダイアタリティカルマークのついた文字がある。図 12において、薄く示される部分がそ れぞれ「部首」、「字母」、「ダイァクリティカルマーク」といった文字部品を示している。
[0066] 従来のフォントでは、これらの情報を特に独立のデータとして記述して 、な 、。これ らのデータをフォントという基礎データに含ませておくことは、文字の分類を始め、文 字教育、文字文化継承などにおいて、大いに資するものである。
[0067] 文字部品情報は、それらの文字部品の名称、それがいずれのストローク力もなるか 、文字部品単位での書き順などのデータである。例えば、「利」とう漢字は、「のぎへん 」という「偏」と、「りっとう」という「旁」でできており、「のぎへん」はストローク番号 1〜5 の 5ストロークからなり、「りっとう」はストローク番号 6〜7の 2ストロークからなり、「利」は 、第 1に「のぎへん」を書き、第 2に「りっとう」を書ぐというようなデータを、適宜のフォ 一マットに定めて記述する。その際、「偏」「旁」「のぎへん」「りっとう」などの文字部品 用語は、適宜、符号化する。なお、そのような文字部品から構成されていない文字に ついては、この情報は空白となる。
[0068] 文字構成における個数情報は、文字を構成するストロークの個数や上記の文字部 品の個数についての情報である。例えば、漢字の場合、総ストローク数は「画数」に 当たる。ストローク数は、筆順と同様に各文字に一義的に定めるものとする。記号など のように、ストローク数が定かでない文字についても、一定のストローク数を定める。ま た、文化によって画数が異なる漢字があり、ストローク数の確定されていない文字もあ る力 ストローク数は代表的なものを採用し、一義的に定めることにする(図 7)。
[0069] そして、他のストローク数に関する情報は拡張補助情報に記述する。これらの点は 文字構成部品の個数情報に関しても同様である。
[0070] 3. 書字フォントレンダラー
3- 1. 汎用ソフトとしての書字フォントレンダラー
書字フォントレンダラーは、書字フォントデータに基づいて、文字をストローク単位で 描画する機能をもつ。ストローク単位の描画には、静的描画と動的描画がある。静的 描画は、文字の一部分を描画したり、文字をストローク単位や文字部品単位で色分 けして描画することができる機能である。また、動的描画は、文字を人が書くように筆 順にしたがって描画したり、筆順 ·運筆方向の逆転やランダム順での描画を行うことが できる機能である。これらの機能は、文字の新しい表現の世界を開くとともに、文字教 育の分野にお!、てその効果を発揮する。
[0071] フォントは、文字を扱うあらゆるソフトやアプリケーションで利用されるものである。よ つて、書字フォントレンダラーは、従来のフォントレンダラーと同様に、汎用の基本ソフ トと位置づけられる。それは、様々な電子機器の制御ソフトや OSの機能の一部として 、従来のフォントレンダラーに並列して組み込まれる力 もしくは、その上位互換性を 持ったソフトとして従来フォントレンダラーに置き換えて組み込まれることが望ましい( 図 13)。
[0072] そして、書字フォントレンダラーはその機能を APIとして公開することにより、他のソ フトゃアプリケーションは、その APIを通じて、書字フォントレンダラーを操作し、書字 フォントデータを活用すること、すなわち、書字機能を使用することが可能になる。
[0073] 3- 2. 書字フォントへのアクセス 書字フォントを使った書字機能を使用するソフトやアプリケーションを新たに開発す る場合は、書字フォントレンダラーの APIを直接使うようにコーディングすればよい(図 14)。例えば、 日本語の文字の綴り方や漢字学習用のアプリケーションを開発する場 合、そのソフトに必要な機能の多くは、書字機能 APIをコールするだけで実現できる 。例えば、筆順、部首、画数などのデータは、書字フォントデータ自体に含まれている ので、情報取得用の APIによって簡単に取得できる。この場合は、書字フォントデー タ自体が、一種の文字データベースの役割をする。また、文字の部分表示、字画や 部首の色分け表示、書き順を教示する筆順動画などについては、描画用の APIによ り実現できるため、改めて一力 画像や動画を作成する必要はない。
[0074] 同様に、携帯情報端末や電子辞書などの電子機器に関しては、 APIを通じて書字 フォントレンダラーを直接操作するプログラムをそれらに組み込むことにより、書字機 能を持った電子機器として開発することができる。
[0075] 一方、文字を扱う多くのアプリケーションが既に存在している。それらのアプリケーシ ヨンに書字機能を持たせるためには、書字フォントレンダラーの APIにアクセスしてそ れを操作するためのアドインを開発して組み込めばよ 、(図 14)。
[0076] アドインとは、一般に、既存のアプリケーション 'ソフトに組み込んで、機能追加をす るソフトのことであり、この場合の書字機能アドインは、アプリケーションと書字フォント レンダラーのインターフェースの働きをする。
[0077] 例えば、プレゼンテーション 'ソフトでは、現在でも文字のアニメーションを行うことが できるが、それは文字の字形全体をベースにしたアニメーションであって、文字の部 分色分けや筆順動画を行うことは容易ではない。ここで、そのプレゼンテーション'ソ フト用の、書字機能アドインを開発して組み込むことにより、文字の部分色分けや筆 順動画が容易にできるようになり、そのソフトにより豊かな表現力を持たせることができ る。
[0078] 同様に、ワープロなどのドキュメントソフトや Webブラウザ、メーラーなどに関しても、 それぞれに書字機能アドインを開発して組み込めば、それぞれのアプリケーションで 書字機能を使用できるようになる。その結果、コンピュータのみならず携帯電話などさ まざまな電子機器にぉ 、て、書字機能を使用できるようになる。 [0079] さらに、書字機能の応用として、ロボットによる書字を実現することができる。書字フ オントデータの持つストローク情報の稜線情報は、筆先の軌跡のデータを示して!/、る 。書字フォントレンダラーの情報取得 APIにより、筆順情報と稜線情報を取得して、口 ボットの運動機能をそれにしたがって制御するプログラムを開発すれば、ロボットに書 字させることも可會 になる。
[0080] 3- 3. 書字フォントレンダラーの機能
書字フォントレンダラーの機能、したがつてまた、書字機能 APIの種類は大きく分け て 3つある。
[0081] 第 1の機能は、書字フォントデータの情報を取得することである。例えば、書字情報 の中の書描時間情報や、文字構成情報の中の文字部品である「部首」の情報などを 取得することができる。
[0082] 第 2の機能は、書字フォントデータに基づいて、文字をストローク単位で静的に描画 することである。例えば、ある特定の部首だけをその全角文字位置のまま描画したり、 字画や部首ごとに色分けして描画したりすることである(図 1、図 2、図 15)。
[0083] 第 3の機能は、書字フォントデータに基づいて、文字を時間をかけて描画することで ある。例えば、文字を人が書くように筆順にしたがって時間をかけて描画したり、筆順 •運筆方向を逆転して描画したり、ランダム順で描画したりすることである(図 3、図 16 )。その際、各ストロークを、時間をかけて例えば左力も右へと書描すること、ストローク 単位でタイピングするように書描すること、動的描画にお!、てストローク単位で色を変 更することなども可能である。
[0084] 前記第 1の機能は、データを読み取ることにすぎないので、容易に実現可能である 。第 2の機能は、従来のフォントレンダラーの機能と本質的には変わらず、その実現 方法は従来のフォントレンダラーに準じる。文字の部分色分けについても、ストローク ごとの画像を作成してそれを合成することにより可能になる。
[0085] 前記第 3の機能は、従来のフォントレンダラーにはない機能である。しかし、動的描 画の実現方法は、現行の動画ソフトの原理を応用することで実現可能である。動画は 毎秒何コマかのフレーム画像の集合力も構成されている。例えば、 1秒間 24フレーム の動画を作成するということは、 24分の 1秒ごとの静止フレーム画像を 24枚作成する ことである。まず、書字フォントレンダラーは、 OSなど力もデバイス情報を取得して、 それにしたがって、適宜のサイズと数の描画用フレームバッファを確保する。そして、
OSなどが提供するタイマー機能に従ってタイミングを取り、書字フォントデータのスト ローク情報と書字情報から、前もって画像を順次作成してゆく。その画像データは、 アプリケーションやアドイン側からのコールにより、適宜のタイミングで表示用データと して送り出される(図 17)。その際、送出が終わった描画用フレームバッファは、新た な画像を作成'描画するために使用することができるので、描画用フレームバッファを 全フレームの数だけ用意する必要はない。
[0086] なお、筆順動画は、 1文字単位で行うこともできるが、単語や文章といった文字群に 関しても行うことができるものとする。その際、人が文字を書くように、 1つの文字の筆 順動画が終わってから、ある程度の間をおいて次の文字の筆順動画を始める。このと き、ある文字と次の文字を書字するまでの間隔時間は、書字フォントレンダラーが管 理する。例えば、文字群が行変えを含んでいるときは、その行変え時には、通常の文 字間の時よりも多くの間隔時間を取る(図 18)。そして、これらの間隔時間については 、書字フォントレンダラーの設定で、変更 '微調整ができるようにする。
[0087] また、最終的に文字が表示される表示用フレームを、どのようにアプリケーションや 書字機能アドイン側で用意するかなど詳細にっ 、ては、そのアプリケーションの構造 に依存する。例えば、プレゼンテーション 'ソフトや Webブラウザでは、動的描画の仕 組みが既に備わっているので、アドインによって筆順動画機能などをそこに追加する ようにすればよい。一方、もともと動的描画の機能を持たないドキュメントソフトなどの 場合は、アドインの中で表示用フレームバッファを用意するなどの処理が必要となる。
[0088] 3-4. 従来フォントと書字フォントの混在
本発明の文字出力システムの特徴の 1つは、 1つの文書の中で、従来フォントと書 字フォントを混在して使えることにある(図 2、図 3)。その際、従来フォントと書字フォン トをどのように識別するかという課題が生ずる力 それは、次のようにして解決される。
[0089] まず、データファイルを作成する際に、その文書の中で書字フォントを使用するべき 文字'文字群に対して、書字属性を付与する。この書字属性とは、文字や文字群を 書字フォントレンダラーによって、どのように描画するかを指示するものである。例え ば、それは、 "第 1部首のみの描画"というような静的描画や、 "1回だけ筆順動画"と いうような動的描画の指示を一定の書式で記述したものである。一方、アプリケーショ ンゃ書字機能アドインは、データファイルを読み取るときにその書字属性を認識し、 書字属性の付与された文字'文字群に対して、書字フォントレンダラーにその指示に したがった処理を行わせる。一方、書字属性の付与されていない文字 ·文字群に関し ては、その処理を従来のフォントレンダラーに任せる。これにより、 1つの文書の中で 従来フォントと書字フォントを混在して使用し、画面表示したり印刷したりすることがで さるようになる。
[0090] この書字属性は、現行用いられている文字属性の一種と見なすことができる。例え ば、ワープロの場合、文字 ·文字群ごとに、サイズや色の指定、イタリック 'ボールド' 下線付きなど基本的書体変形を指定する文字属性の入力を行うことができる。この文 字属性は、データファイル内で当該の文字 ·文字群に関係付けられたバイナリのデー タとして記述 ·保存され、画面表示や印刷をするときに、その文字属性が出力に反映 される。それと同様に、書字属性も、データファイルを作成するときに、文字'文字群 ごとに入力を行うことができる。そして、書字属性は、文字属性の一種としてデータフ アイル内に記述,保存され、画面表示や印刷をするときに、その書字属性が出力に反 映されるようになる。図 19では、 1.書字属性を入力する前の原文、 2.原文中のある 文字に対する書字属性の入力、 3.書字属性が反映された後の画面表示の例が示さ れている。
[0091] なお、ワープロに組み込む書字機能アドインの場合、データファイルを画面表示' 印刷するときに、書字属性を認識して書字フォントレンダラーにしかるべき処理を行 わせる機能だけではなぐデータファイルを作成するときに、書字属性を入力しそれ をデータファイルに記述する機能もあわせ持つように開発する。
[0092] 一方、 Webブラウザの場合、データファイルの形式は、通常、 HTMLファイルであ る。 HTMLファイルでは、文字属性は、タグやスタイルシートによって記述される。そ のタグやスタイルシートについては、 W3Cによってその標準が既定されている力 新 たに書字属性用の拡張的なタグやスタイルシートを策定することは可能である。これ らの拡張的なタグやスタイルシートを認識し、書字フォントレンダラーにしかるべき処 理をさせる書字機能アドインを Webブラウザに組み込むことにより、 Webにおいても 書字フォントによる書字表現を実現することができる(図 20)。
[0093] なお、 Webブラウザは、データファイルである HTMLファイルを読み込んで、画面 表示したり印刷したりする機能を持つだけであり、 HTMLファイルを作成する機能は 持たない。一般的に、 HTMLファイルは、 HTMLエディタや Webページ作成アプリ ケーシヨンによって作成される。よって、 Webの場合、データファイルに書字属性を入 力する機能は、 HTMLエディタ力 Webページ作成アプリケーションに機能追加する アドインとして開発される。
[0094] ところで、動的描画の開始タイミングをどのようにとる力、書字属性をどのように指定 するか、その詳細についてはそのソフトの目的や性格に応じて定める必要がある。例 えば、ワープロ文書において、書字属性で、 "1回だけの筆順動画"というような指示 をした場合、文字'文字群に書字属性を入力した時点で、即時に画面上で動的描画 を開始することとする。また、そのデータファイルの読み込み時には、当該ページがァ クティブになったときに、動的描画を開始することとする。また例えば、 HTMLフアイ ルにおいて、書字属性で、 "3秒後に開始して 1回だけの筆順動画"というような指示 をした場合、書字機能アドインの組み込まれた Webブラウザは、 HTMLファイルの読 み込みと解釈が完了して当該文章部分を描画開始する時点を 0秒目として、その 3 秒後に動的描画を開始することとする。
[0095] 4.他の実施形態
本発明の書字フォントデータは、書字フォントレンダラーとの組み合わせての利用 に限定されず、多様な用途に利用することができる。例えば、語学学習用のソフトや 電子辞書等において、書字フォントデータの有する文字構成情報を利用して、偏、旁 等の文字部品が共通する字を検索できるようにしたり、文字部品の個数が共通する 字を検索できるようにしたりすることができる。この場合、検索により抽出された文字の 動的描画は不要であり、単に表示するだけでよい。
産業上の利用可能性
[0096] 本発明の書字フォントデータないしこれを具備する文字出力システムによれば、筆 順どおりの動的出力をはじめ、ストローク単位、あるいは文字部品単位での出力を、 使用フォントを変更することで容易に行うことができる。これにより、各文字'各単語 · 各文章に個別の動画ファイルを作ることなぐ文字のストローク単位の動的出力を行う ことができる。ひいては、特定の動画ファイルや特定のソフトウェアを用いることなぐ 文字のストローク単位の書字を、汎用アプリケーションにおいて容易に実現すること ができる。

Claims

請求の範囲
[1] 各文字を書くときの一筆にあたるストロークに関するストローク情報と、このストローク 情報を用いて文字をストローク単位で書字することに関する書字情報とを有してなり、 前記ストローク情報は、少なくとも各ストロークのアウトライン情報を有し、前記書字情 報は、各文字におけるストロークの筆記順序に関する筆順情報を有することを特徴と する書字フォントデータ。
[2] ストローク情報は、各ストロークを書描するときの筆先の軌跡の稜線に対応する、描 画始終点を持った稜線情報を有し、書字情報は、各ストロークの書描にかかる時間 に関する書描時間情報と、あるストローク及びその次のストロークを書描する間の時 間に関するストローク間の間隔時間情報とを有する請求項 1記載の書字フォントデー タ。
[3] 請求項 1又は 2記載の書字フォントデータであって、更に、一又は複数のストローク によって文字を構成することに関する文字構成情報を有し、この文字構成情報は、 少なくとも、文字を構成する一又は複数のストロークをグループ単位にして文字部品 として扱うことに関する文字部品情報を有する書字フォントデータ。
[4] 文字構成情報は、各文字における総ストロークの個数情報及び文字部品の個数情 報を有する請求項 3記載の書字フォントデータ。
[5] 請求項 1、 2、 3、又は 4のいずれか記載の書字フォントデータに基づいて、ストロー ク単位もしくは文字部品単位で出力画面に文字を書字、または印字しうることを特徴 とする文字出力システム。
PCT/JP2007/058428 2006-08-01 2007-04-18 Données de polices pour l'écriture de lettres et système de génération de lettres WO2008015825A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008527673A JPWO2008015825A1 (ja) 2006-08-01 2007-04-18 書字フォントデータ及び文字出力システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-210410 2006-08-01
JP2006210410 2006-08-01

Publications (1)

Publication Number Publication Date
WO2008015825A1 true WO2008015825A1 (fr) 2008-02-07

Family

ID=38997009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/058428 WO2008015825A1 (fr) 2006-08-01 2007-04-18 Données de polices pour l'écriture de lettres et système de génération de lettres

Country Status (2)

Country Link
JP (1) JPWO2008015825A1 (ja)
WO (1) WO2008015825A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514778A (zh) * 2012-06-18 2014-01-15 申重学 数字化汉字实用书写运笔练习法
JP2015225506A (ja) * 2014-05-28 2015-12-14 コニカミノルタ株式会社 画像処理装置及びプログラム
JP2016514274A (ja) * 2013-01-23 2016-05-19 バク、ゼヒョン ディスプレイ装置に表示された文字の色相変更装置及び方法
US9727997B2 (en) 2014-06-19 2017-08-08 Samsung Electronics Co., Ltd Electronic device and method of providing handwriting animation
CN112132941A (zh) * 2020-09-24 2020-12-25 杭州海康威视系统技术有限公司 一种文字渲染方法、装置、设备及存储介质
CN112248006A (zh) * 2020-10-29 2021-01-22 哈工大机器人湖州国际创新研究院 机械臂毛笔字书写控制方法
CN112989899A (zh) * 2019-12-18 2021-06-18 湖南创乐博智能科技有限公司 一种基于写字机器人的可书写个性化字体的方法
CN113223119A (zh) * 2021-05-16 2021-08-06 李沧区奇思者网络技术服务工作室 一种文字或图形笔顺拆解的方法、系统
JP2022511764A (ja) * 2018-11-23 2022-02-01 北京方正手▲跡▼数字技▲術▼有限公司 フォントレンダリング方法、装置及びコンピュータ可読記憶媒体

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6089255B1 (ja) * 2015-11-23 2017-03-08 雄太郎 植木 漢字学習用具

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03163496A (ja) * 1989-05-31 1991-07-15 Mitsubishi Electric Corp 文字描画装置
JPH0573554A (ja) * 1991-09-17 1993-03-26 Fujitsu Ltd 書き順内蔵文字パターンを有する文書出力装置
JPH1039727A (ja) * 1996-07-26 1998-02-13 Nippon Telegr & Teleph Corp <Ntt> 文字表示方法
JPH1039736A (ja) * 1996-07-26 1998-02-13 Nippon Telegr & Teleph Corp <Ntt> 動的文字生成方法及び動的文字表示方法
JP2000076236A (ja) * 1998-08-31 2000-03-14 Casio Comput Co Ltd 文字フォント出力装置およびそのプログラム記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03163496A (ja) * 1989-05-31 1991-07-15 Mitsubishi Electric Corp 文字描画装置
JPH0573554A (ja) * 1991-09-17 1993-03-26 Fujitsu Ltd 書き順内蔵文字パターンを有する文書出力装置
JPH1039727A (ja) * 1996-07-26 1998-02-13 Nippon Telegr & Teleph Corp <Ntt> 文字表示方法
JPH1039736A (ja) * 1996-07-26 1998-02-13 Nippon Telegr & Teleph Corp <Ntt> 動的文字生成方法及び動的文字表示方法
JP2000076236A (ja) * 1998-08-31 2000-03-14 Casio Comput Co Ltd 文字フォント出力装置およびそのプログラム記録媒体

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514778A (zh) * 2012-06-18 2014-01-15 申重学 数字化汉字实用书写运笔练习法
JP2016514274A (ja) * 2013-01-23 2016-05-19 バク、ゼヒョン ディスプレイ装置に表示された文字の色相変更装置及び方法
JP2015225506A (ja) * 2014-05-28 2015-12-14 コニカミノルタ株式会社 画像処理装置及びプログラム
US9727997B2 (en) 2014-06-19 2017-08-08 Samsung Electronics Co., Ltd Electronic device and method of providing handwriting animation
JP2022511764A (ja) * 2018-11-23 2022-02-01 北京方正手▲跡▼数字技▲術▼有限公司 フォントレンダリング方法、装置及びコンピュータ可読記憶媒体
US11507727B2 (en) 2018-11-23 2022-11-22 Beijing Founder Handwriting Digital Technology Co., Ltd Font rendering method and apparatus, and computer-readable storage medium
JP7210733B2 (ja) 2018-11-23 2023-01-23 北京方正手▲跡▼数字技▲術▼有限公司 フォントレンダリング方法、装置及びコンピュータ可読記憶媒体
CN112989899A (zh) * 2019-12-18 2021-06-18 湖南创乐博智能科技有限公司 一种基于写字机器人的可书写个性化字体的方法
CN112132941A (zh) * 2020-09-24 2020-12-25 杭州海康威视系统技术有限公司 一种文字渲染方法、装置、设备及存储介质
CN112132941B (zh) * 2020-09-24 2024-02-02 杭州海康威视系统技术有限公司 一种文字渲染方法、装置、设备及存储介质
CN112248006A (zh) * 2020-10-29 2021-01-22 哈工大机器人湖州国际创新研究院 机械臂毛笔字书写控制方法
CN113223119A (zh) * 2021-05-16 2021-08-06 李沧区奇思者网络技术服务工作室 一种文字或图形笔顺拆解的方法、系统

Also Published As

Publication number Publication date
JPWO2008015825A1 (ja) 2009-12-17

Similar Documents

Publication Publication Date Title
WO2008015825A1 (fr) Données de polices pour l&#39;écriture de lettres et système de génération de lettres
US6298154B1 (en) Method for rendering improved personal handwriting
Lunde CJKV information processing
JPH0619779B2 (ja) 漢字言語文字を選択し記憶するための方法
Sinha A journey from Indian scripts processing to Indian language processing
JP2007517251A (ja) フォントのスケーリングのための構成
Bigelow et al. The design of a Unicode font
Azmi et al. Arabic typography: a survey
JP2006040263A (ja) アジア言語用の手書き入力
Flynn Usability and digital typography
Wyatt On Type and Typographic Anatomy
JP2001067343A (ja) 日本語文章の表記方法及びワープロ装置又は写真植字機
Neumeier Legibility in typeface design for screen interfaces
KR101337198B1 (ko) 여러 가지 모양의 점을 가진 한글표시방법
Ellison The complete guide to digital type: Creative use of typography in the digital arts
Kokoschka “The Script Does Not Respond”‐Arabic Script's Difficulties in the Digital Realm. A Visual Approach
Millar et al. Synthesis of the Devanagari orthography
Ross Digital typeface design and font development for twenty-first century bangla language processing
TW575840B (en) Invisible decoding computer character pattern of Chinese character or non-syllabic character
JPS6385695A (ja) 連綿文字作成方式
Passeira Typography: from reading to seeing.
Hosken Creating an orthography description
lodzimierz Bzyl The Tao of Fonts
A AL-Nasrawi et al. Characters Map for Cuneiform Writing System
Lydon Designing devanagari type: the effect of technological restrictions on current practice

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

WWE Wipo information: entry into national phase

Ref document number: 2008527673

Country of ref document: JP

122 Ep: pct application non-entry in european phase

Ref document number: 07741864

Country of ref document: EP

Kind code of ref document: A1