JP5747202B2 - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP5747202B2
JP5747202B2 JP2013230470A JP2013230470A JP5747202B2 JP 5747202 B2 JP5747202 B2 JP 5747202B2 JP 2013230470 A JP2013230470 A JP 2013230470A JP 2013230470 A JP2013230470 A JP 2013230470A JP 5747202 B2 JP5747202 B2 JP 5747202B2
Authority
JP
Japan
Prior art keywords
ruby
character
parent
character string
line
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2013230470A
Other languages
Japanese (ja)
Other versions
JP2014041653A (en
JP2014041653A5 (en
Inventor
正勝 松岡
正勝 松岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions Inc
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 Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2013230470A priority Critical patent/JP5747202B2/en
Publication of JP2014041653A publication Critical patent/JP2014041653A/en
Publication of JP2014041653A5 publication Critical patent/JP2014041653A5/ja
Application granted granted Critical
Publication of JP5747202B2 publication Critical patent/JP5747202B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関し、特に、ルビを出力する技術に関するものである。   The present invention relates to an information processing apparatus, an information processing method, and a program, and more particularly to a technique for outputting ruby.

従来、パーソナルコンピュータ等を用いて様々なレイアウトの文書を作成することが可能である。特に、雑誌や新聞等の印刷物におけるレイアウト処理は、一般に、DTP(Desk Top Publishing)システムによって行われている。 Conventionally, it is possible to create documents with various layouts using a personal computer or the like. In particular, layout processing for printed matter such as magazines and newspapers is generally performed by a DTP (Desk Top Publishing) system.

このような文書編集システムは、読者が文章を読み易くするために、文字(列)にルビが付す機能等を備えている。ここで、ルビが付される文字は一般に親文字と言われている。 また、ルビには、一般的に知られている「モノルビ」、「グループルビ」、「熟語ルビ」という3つの種類がある。 Such a document editing system has a function of adding ruby to a character (column) so that the reader can easily read the text. Here, the character to which the ruby is attached is generally said to be a parent character. In addition, there are three types of ruby, which are generally known as “mono ruby”, “group ruby”, and “jukugo ruby”.

「モノルビ」とは、親文字1文字毎に付されるルビである。例えば、「野鳥」の「野」に対するモノルビとして「や」が付される。そのため、「野」と「鳥」の間で改行が入った場合、(親文字)「野」に対して(モノルビ)「や」が出力され、次行に改行された(親文字)「鳥」に対しては(モノルビ)「ちょう」が出力される。 "Mono ruby" is ruby attached to each parent character. For example, “ya” is added as a mono ruby for “wild” in “wild bird”. Therefore, if a line break is entered between “Field” and “Bird”, (Monorubi) “Ya” is output for (Parent Character) “Field”, and the line is broken to the next line (Parent Character) “Bird” "(Mono ruby)" Cho "is output.

また、「グループルビ」とは、複数の文字から構成される親文字全体に対して付されるルビのことである。例えば、「野鳥」の2文字に対してグループルビとして「やちょう」が付される。そのため、「野」と「鳥」の間で行が切れる場合、「鳥」を行内に追い込むか、又は「野」を次行に追い出して「野鳥」の一連の文字を同一行に含むように出力すると共に、グループルビである「やちょう」が(親文字)「野鳥」に対して出力される。 The “group ruby” is ruby attached to the entire parent character composed of a plurality of characters. For example, “Yacho” is added as a group ruby to two characters “wild bird”. Therefore, if the line is cut between “wild” and “bird”, either “bird” is driven into the line, or “wild” is driven to the next line, and a series of characters “wild bird” is included in the same line. In addition to the output, the group ruby “Yacho” is output to (wild character) “wild bird”.

また、「熟語ルビ」とは、複数の文字から構成される親文字(熟語)に対して付されるルビであって、熟語の各親文字からルビがはみ出さない場合はモノルビのように出力され、ルビが各親文字からはみ出す場合はグループルビのように出力されるルビのことである。また、熟語ルビは、熟語の途中で改行が入るとモノルビのように分かれてルビが出力される。 "Jukugo-ruby" is a ruby attached to a parent character (jukugo) composed of multiple characters. If the ruby does not protrude from each parent character of the idiom, it is output as a mono-ruby. If the ruby protrudes from each parent character, the ruby is output like a group ruby. Also, idiom ruby is divided like mono ruby when a line break occurs in the middle of idiom, and ruby is output.

上述したように、グループルビは、グループルビの途中で改行されると、親文字を同一行内に追い込んだり追い出したりするため、例えば、長い親文字が設定された場合は、行の文字数が少なくなって字間が空きすぎること等があった。これを解決するために、特許文献1では、親文字列及びグループルビを、予め設定した分割予約点で分割することが提案されている。 As described above, when a group ruby is broken in the middle of a group ruby, the parent character is driven into or out of the same line. For example, when a long parent character is set, the number of characters in the line decreases. The gap between characters was too large. In order to solve this, Patent Document 1 proposes to divide a parent character string and a group ruby at a preset division reservation point.

特開平11−191101号公報JP 11-191101 A

しかしながら、上記従来技術では、分割する箇所を規定した分割予約点を予め設定しなければならないため、文章の量が多ければ多いほど設定作業が煩雑となり、簡易な操作で見栄えの良いルビを出力することが困難であった。   However, in the above-described prior art, it is necessary to set in advance a division reservation point that defines a part to be divided. Therefore, the larger the amount of text, the more complicated the setting work, and the easy-to-view ruby is output with a simple operation. It was difficult.

さらに、最近では、1つの親文字に対して2つのルビを付すことが要望されている。例えば、親文字としての日本語の文字列に対して、英語のルビと中国語のルビとが同時に付されることが望まれている。このように、同じ親文字に対して複数のルビが付される場合、見栄え良く出力するために、複数のルビを考慮した分割位置を設定させることも考えられる。 Furthermore, recently, it has been demanded to attach two ruby to one parent character. For example, it is desired that an English ruby and a Chinese ruby are simultaneously attached to a Japanese character string as a parent character. In this way, when a plurality of ruby are attached to the same parent character, it is also conceivable to set a division position in consideration of the plurality of ruby in order to output with good appearance.

さらに、同一の親文字に対して付される複数のルビに、上述した複数の種類のルビ(モノルビ、グループルビ、熟語ルビ)が設定される場合も考えられる。
このような、複数のルビ及び複数種類のルビを考慮した分割位置の設定作業は、ユーザにとっても判断が難しい煩雑な操作となる。
Furthermore, a plurality of types of ruby (mono ruby, group ruby, idiom ruby) described above may be set for a plurality of ruby attached to the same parent character.
Such a division position setting operation in consideration of a plurality of rubies and a plurality of types of rubies is a complicated operation that is difficult for the user to make a determination.

本発明の目的は、文字に対して複数のグループルビが設定された当該文字と当該グループルビの改行位置を決定して、簡易に見栄えの良い文書を出力するための仕組みを提供することである。
An object of the present invention is to provide a mechanism for outputting to determine the line feed position of the parent character and the group ruby multiple groups ruby is set for the parent character, good looking documentation easily It is.

本発明は、文字枠に配置される文字列の一部として含まれる親文字列に設定された、第1のグループルビ、及び第2のグループルビを含むグループルビの出力制御を行う情報処理装置であって、前記文字枠に関する情報を含む文字枠情報と、当該文字枠に配置される文字列であって、前記第1のグループルビが設定された第1の親文字列と、当該第1のグループルビが設定された第1の親文字列の一部に重複して前記第2のグループルビが設定された第2の親文字列とを、前記文字列の一部として含まれる親文字列として含み、当該親文字列内の親文字間が前記文字枠の端に配置される文字列を記憶する記憶手段と前記記憶手段に記憶された文字枠情報、及び前記文字列に従って、前記記憶手段により記憶された文字列の一部としてまれる当該親文字列内の文字間が前記文字枠の端に配置されるかを判定する判定手段と、前記第1の親文字列と前記第1のグループルビが設定されていない文字との間、及び、前記第2の親文字列と前記第2のグループルビが設定されていない文との間を、それぞれ改行候補位置として決定する候補位置決定手段と、前記判定手段により前記文字枠の端に配置されると判定された前記親文字間の位置、前記候補位置決定手段により決定された改行候補位置との位置関係に従って、前記親文字列の改行位置を決定する改行位置決定手段と、前記改行位置決定手段により決定された前記文字列の改行位置に従って、当該文字列に設定された前記第1のグループルビ又は前記第2のグループルビの改行位置を決定するグループルビ改行位置決定手段と、前記改行位置決定手段により決定された改行位置で前記親文字を改行前記親文字列と、前記グループルビ改行位置決定手段により決定された改行位置で前記第1のグループルビ又は前記第2のグループルビが改行された前記グループルビとを出力する出力手段と、を備えることを特徴とする。
The present invention relates to an information processing apparatus that performs output control of a group ruby including a first group ruby and a second group ruby set in a parent character string included as part of a character string arranged in a character frame. A character frame information including information on the character frame, a character string arranged in the character frame, the first parent character string in which the first group ruby is set, and the first A parent character including a part of the first parent character string set with the second group ruby as a part of the character string and the second parent character string set with the second group ruby wherein as a column, the parent character storage means between parental character in a column for storing a character string to be placed at the end of the character frame, a character frame information stored in the storage means, and in accordance with said character string , including as part of the stored character string by the storage means Determination means for determining inter parent character is arranged at the end of the character frame in the parent string, and character wherein the first base character string first group ruby is not set during, and the character frame between the second parent string and the second group ruby characters that are not set, the candidate position determining means for determining a new line candidate position respectively, by the determination unit a position between the parent character is determined to be located at the end of, in accordance with the positional relationship between the determined line feed candidate position by the candidate position determining means, line feed position determination for determining the line break position of the parent string groups that determine the unit, according to line breaks within determined the parent string by the line feed position determining means, the line feed positions of the set in the parent string first group ruby or said second group ruby Ruby break And position determining means, said a parent string newline the parental character with a new line position determined by the line feed position determining means, said first group ruby with a newline position determined by the group ruby line feed position determining means or characterized in that and an output means for said second group ruby outputs and said group ruby that a new line.

また、本発明は、文字枠に配置される文字列の一部として含まれる親文字列に設定された、第1のグループルビ、及び第2のグループルビを含むグループルビの出力制御を行う情報処理装置であって、前記文字枠に関する情報を含む文字枠情報と、当該文字枠に配置される文字列であって、前記第1のグループルビが設定された第1の親文字列と、当該第1のグループルビが設定された第1の親文字列の一部に重複して前記第2のグループルビが設定された第2の親文字列とを、前記文字列の一部として含まれる親文字列として含み、当該親文字列内の親文字間が前記文字枠の端に配置される文字列を記憶する記憶手段を備えた情報処理装置における情報処理方法であって、記情報処理装置の判定手段が、前記記憶手段に記憶された文字枠情報、及び前記文字列に従って、前記記憶手段により記憶された文字列の一部としてまれる当該親文字列内の文字間が前記文字枠の端に配置されるかを判定する判定工程と、前記情報処理装置の候補位置決定手段が、前記第1の親文字列と前記第1のグループルビが設定されていない文字との間、及び、前記第2の親文字列と前記第2のグループルビが設定されていない文との間を、それぞれ改行候補位置として決定する候補位置決定工程と、前記情報処理装置の改行位置決定手段が、前記判定工程により前記文字枠の端に配置されると判定された前記親文字間の位置、前記候補位置決定工程により決定された改行候補位置との位置関係に従って、前記親文字列の改行位置を決定する改行位置決定工程と、前記情報処理装置のグループルビ改行位置決定手段が、前記改行位置決定工程により決定された前記文字列の改行位置に従って、当該文字列に設定された前記第1のグループルビ又は前記第2のグループルビの改行位置を決定するグループルビ改行位置決定工程と、前記情報処理装置の出力手段が、前記改行位置決定工程により決定された改行位置で前記親文字を改行前記親文字列と、前記グループルビ改行位置決定工程により決定された改行位置で前記第1のグループルビ又は前記第2のグループルビが改行された前記グループルビとを出力する出力工程と、を備えることを特徴とする。
The present invention also provides information for performing output control of group ruby including the first group ruby and the second group ruby set in the parent character string included as part of the character string arranged in the character frame. A processing device comprising: character frame information including information relating to the character frame; a character string arranged in the character frame , wherein the first parent character string in which the first group ruby is set; A part of the first parent character string in which the first group ruby is set is included as a part of the character string, and the second parent character string in which the second group ruby is set is duplicated. includes a parental character string, an information processing method in an information processing apparatus between parent character is provided with a storage means for storing a character string to be placed at the end of the character frame in the parental character string, before Symbol A sentence stored in the storage means by the determination means of the information processing device Frame information, and in accordance with the character string, determining whether or between parent character in the free Murrell the parent character string is arranged at the end of the character frame as part of the stored character string by said storing means process If the candidate position determining means of the information processing apparatus, between characters wherein the first base character string first group ruby is not set, and the and the second parent strings second disposed between the characters that group ruby is not set, the candidate position determining step of determining a new line candidate position respectively, newline position determining means of the information processing apparatus, the edge of the character frame by the determination step of a position between the parent character is determined to be in accordance with the positional relationship between the candidate position determining step newline candidate position determined by the line feed position determining step of determining a line feed position of the parent character string, wherein Information processing equipment Rupurubi line feed position determining means, the line feed according line breaks in the parent strings as determined by the position determination process, line feed position of the set in the parent string first group ruby or said second group ruby a group ruby line feed position determining step of determining an output unit of the information processing apparatus, the line feed position and the parent strings new line the parental character with a new line position determined by the determining step, the group ruby line breaks the line endings determined by the determining step a first group ruby or said second group ruby is characterized in that it comprises an output step of outputting said group ruby that a new line.

また、本発明は、文字枠に配置される文字列の一部として含まれる親文字列に設定された、第1のグループルビ、及び第2のグループルビを含むグループルビの出力制御を行う情報処理装置であって、前記文字枠に関する情報を含む文字枠情報と、当該文字枠に配置される文字列であって、前記第1のグループルビが設定された第1の親文字列と、当該第1のグループルビが設定された第1の親文字列の一部に重複して前記第2のグループルビが設定された第2の親文字列とを、前記文字列の一部として含まれる親文字列として含み、当該親文字列内の親文字間が前記文字枠の端に配置される文字列を記憶する記憶手段を備えた情報処理装置で読み取り実行可能なプログラムであって、前記情報処理装置を、記記憶手段に記憶された文字枠情報、及び前記文字列に従って、前記記憶手段により記憶された文字列の一部としてまれる当該親文字列内の文字間が前記文字枠の端に配置されるかを判定する判定手段と、前記第1の親文字列と前記第1のグループルビが設定されていない文字との間、及び、前記第2の親文字列と前記第2のグループルビが設定されていない文との間を、それぞれ改行候補位置として決定する候補位置決定手段と、前記判定手段により前記文字枠の端に配置されると判定された前記親文字間の位置、前記候補位置決定手段により決定された改行候補位置との位置関係に従って、前記親文字列の改行位置を決定する改行位置決定手段と、前記改行位置決定手段により決定された前記文字列の改行位置に従って、当該文字列に設定された前記第1のグループルビ又は前記第2のグループルビの改行位置を決定するグループルビ改行位置決定手段と、前記改行位置決定手段により決定された改行位置で前記親文字を改行前記親文字列と、前記グループルビ改行位置決定手段により決定された改行位置で前記第1のグループルビ又は前記第2のグループルビが改行された前記グループルビとを出力する出力手段として機能させることを特徴とする。
The present invention also provides information for performing output control of group ruby including the first group ruby and the second group ruby set in the parent character string included as part of the character string arranged in the character frame. A processing device comprising: character frame information including information relating to the character frame; a character string arranged in the character frame , wherein the first parent character string in which the first group ruby is set; A part of the first parent character string in which the first group ruby is set is included as a part of the character string, and the second parent character string in which the second group ruby is set is duplicated. It includes a parental character string, a reading program executable by an information processing apparatus having a storage means for storing a character string between the parent character in the parental character string is arranged at the end of the character frame, a, It said information processing apparatus, a previously stored Symbol storage means statements Frame information, and in accordance with the character string determination means for determining inter parent character in the free Murrell the parent character string is arranged at the end of the character frame as part of the stored character string by the storage means When, with the first between the parental character string and the first group ruby is not set characters, and characters that the said second parent strings second group ruby is not set between a candidate position determining means for determining a new line candidate position respectively, the position between the parent character is determined to be located at an end of the character frame by the determining means is determined by the candidate position determining means was in accordance with the positional relationship between the line feed candidate position, and line feed position determining means for determining a new line position of the parent character string, in accordance with line feed position of the parent character string decided by the line feed position determining means, the parent string I am set to A group ruby line feed position determining means for determining a new line position of the serial first group ruby or said second group ruby, the parent string newline the parental character with a new line position determined by the line feed position determining means When, characterized in that to function as output means for outputting said first group ruby or the group ruby said second group ruby has a line break line break position determined by the group ruby line feed position determining means .

本発明によれば、文字に対して複数のグループルビが設定された当該文字と当該グループルビの改行位置を決定して、簡易に見栄えの良い文書を出力させることができる。








According to the present invention, it is possible to determine the line feed position of the parent character and the group ruby multiple groups ruby is set for the parent character to output a good document looking easily.








本実施形態に係るシステムの構成例を示す図である。It is a figure which shows the structural example of the system which concerns on this embodiment. 図1に示した情報処理装置100及び200のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the information processing apparatuses 100 and 200 shown in FIG. 図1における情報処理装置100が実行する第1の制御処理手順を示すフローチャートである。3 is a flowchart showing a first control processing procedure executed by the information processing apparatus 100 in FIG. 1. 図3のステップS301の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S301 of FIG. 図4のステップS402及びステップS404の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of FIG.4 S402 and step S404. 図5のステップS502の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S502 of FIG. 図5のステップS503の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S503 of FIG. 図5のステップS504の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S504 of FIG. 図3のステップS303の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S303 of FIG. 図9のステップS902、S903、S905の詳細処理を示すフローチャートである。10 is a flowchart showing detailed processing of steps S902, S903, and S905 of FIG. 図9のステップS904の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S904 of FIG. 図11のステップS1104の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S1104 of FIG. 図11のステップS1105の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S1105 of FIG. 図3のステップS304の詳細処理を示すフローチャートである。It is a flowchart which shows the detailed process of step S304 of FIG. 情報処理装置100の外部メモリ211に記憶されているルビ付き文書データを出力するために用いるデータの一例を説明するための図である。6 is a diagram for describing an example of data used for outputting ruby-added document data stored in an external memory 211 of the information processing apparatus 100. FIG. 親文字とルビの分割位置を説明するための図である。It is a figure for demonstrating the division | segmentation position of a parent character and ruby. 親文字に対して行の切れ目位置から分割候補位置までの距離を説明するための図である。It is a figure for demonstrating the distance from a line | wire break position to a division | segmentation candidate position with respect to a parent character. 親文字に対して複数のルビが付与された場合の親文字と複数のルビの分割(改行)の例を説明するための図である。It is a figure for demonstrating the example of a division | segmentation (line feed) of a parent character and several ruby when a some ruby is provided with respect to the parent character. 親文字に対して複数のルビが付与された場合の親文字と複数のルビの分割(改行)の例を説明するための図である。It is a figure for demonstrating the example of a division | segmentation (line feed) of a parent character and several ruby when a some ruby is provided with respect to the parent character. ルビを登録するための画面の一例を示す図である。It is a figure which shows an example of the screen for registering ruby.

以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
<図1の説明>
図1は、本実施形態に係るシステムの構成例を示す図である。
Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.
<Description of FIG. 1>
FIG. 1 is a diagram illustrating a configuration example of a system according to the present embodiment.

図1に示すように、情報処理装置100と情報処理装置200と複合機(画像処理装置)300は、ネットワーク400を介して相互に通信可能に接続されている。 As illustrated in FIG. 1, the information processing apparatus 100, the information processing apparatus 200, and the multifunction peripheral (image processing apparatus) 300 are connected to each other via a network 400 so that they can communicate with each other.

情報処理装置100と情報処理装置200は、ルビが付された文字(列)のデータを生成し記憶している。ここで、ルビが付された文字又は文字列のデータをルビ付き文書データという。   The information processing apparatus 100 and the information processing apparatus 200 generate and store data of characters (rows) to which ruby is attached. Here, data of a character or a character string to which ruby is attached is referred to as ruby-added document data.

情報処理装置100と情報処理装置200は、この記憶されたルビ付き文書データを組版して、情報処理装置のディスプレイや複合機300に出力することができる。
本実施形態では、情報処理装置100でルビ付き文書を出力する例について説明する。
The information processing apparatus 100 and the information processing apparatus 200 can format the stored ruby-added document data and output it to the display of the information processing apparatus or the multifunction peripheral 300.
In the present embodiment, an example in which a ruby-added document is output by the information processing apparatus 100 will be described.

<図2の説明>
以下、図2を用いて、図1に示した情報処理装置100及び200のハードウェア構成について説明する。 図2は、図1に示した情報処理装置100及び200のハードウェア構成を示すブロック図である。
<Description of FIG. 2>
Hereinafter, the hardware configuration of the information processing apparatuses 100 and 200 illustrated in FIG. 1 will be described with reference to FIG. FIG. 2 is a block diagram showing a hardware configuration of the information processing apparatuses 100 and 200 shown in FIG.

図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PC(情報処理装置)の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。 In FIG. 2, reference numeral 201 denotes a CPU that comprehensively controls each device and controller connected to the system bus 204. Further, the ROM 202 or the external memory 211 has a BIOS (Basic Input / Output System) or an operating system program (hereinafter referred to as OS), which is a control program of the CPU 201, and functions executed by each server or each PC (information processing apparatus). Various programs and the like to be described later necessary for the realization are stored.

203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。 A RAM 203 functions as a main memory, work area, and the like for the CPU 201. The CPU 201 implements various operations by loading a program or the like necessary for execution of processing from the ROM 202 or the external memory 211 into the RAM 203 and executing the loaded program.

また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器(表示部)への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。 An input controller 205 controls input from a keyboard (KB) 209 or a pointing device such as a mouse (not shown). A video controller 206 controls display on a display (display unit) such as a CRT display (CRT) 210. In FIG. 2, although described as CRT 210, the display device is not limited to the CRT, but may be another display device such as a liquid crystal display. These are used by the administrator as needed.

207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。 A memory controller 207 is provided in an external storage device (hard disk (HD)), flexible disk (FD), or PCMCIA card slot for storing a boot program, various applications, font data, user files, editing files, various data, and the like. Controls access to an external memory 211 such as a compact flash (registered trademark) memory connected via an adapter.

208は通信I/Fコントローラで、ネットワーク400を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。 A communication I / F controller 208 connects and communicates with an external device via the network 400, and executes communication control processing on the network. For example, communication using TCP / IP is possible.

なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。 Note that the CPU 201 enables display on the CRT 210 by executing outline font rasterization processing on a display information area in the RAM 203, for example. In addition, the CPU 201 enables a user instruction with a mouse cursor (not shown) on the CRT 210.

本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられるファイル及び各種テーブル等も、外部メモリ211に格納されている。 Various programs to be described later for realizing the present invention are recorded in the external memory 211 and executed by the CPU 201 by being loaded into the RAM 203 as necessary. Further, files and various tables used when executing the program are also stored in the external memory 211.

<図3の説明>
図3は、図1における情報処理装置100が実行する第1の制御処理手順を示すフローチャートであり、本実施形態を説明するための基本的なフローチャートである。
<Description of FIG. 3>
FIG. 3 is a flowchart showing a first control processing procedure executed by the information processing apparatus 100 in FIG. 1, and is a basic flowchart for explaining the present embodiment.

図3に示すステップS301からステップS307までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S301 to step S307 illustrated in FIG. 3 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

まず、当該プログラムを実行すると、外部メモリ211に記憶されたルビ付き文書データをRAM203に読み込み、ルビ付き文書データに従って親文字にルビを付す(ステップS301)。ステップS301の詳細処理の説明は、図4を用いて後述する。   First, when the program is executed, ruby-added document data stored in the external memory 211 is read into the RAM 203, and ruby is attached to the parent character according to the ruby-added document data (step S301). The detailed process in step S301 will be described later with reference to FIG.

次に、ステップS301でルビ付された文字(列)を文字枠に配置した場合、当該文字(列)が文字枠の幅を超えるか否かを判定することにより、改行するか否かを判定する(ステップS302)。そして、当該文字(列)が文字枠の幅を超えると判定(改行すると判定)された場合、改行位置候補決定処理を実行する(ステップS303)。一方、当該文字(列)が文字枠の幅を超えないと判定(改行しないと判定)された場合は、ステップS305に処理を移行して、読み込んだルビ付き文書データ内の全ての全文字列に対して、少なくともステップS301からステップS302の処理を実行したかを判定する(ステップS305)。   Next, when the character (column) attached with ruby in step S301 is arranged in the character frame, it is determined whether or not a line feed is made by determining whether or not the character (column) exceeds the width of the character frame. (Step S302). If it is determined that the character (column) exceeds the width of the character frame (determined to be a line break), a line feed position candidate determination process is executed (step S303). On the other hand, if it is determined that the character (string) does not exceed the width of the character frame (determined that no line break will occur), the process proceeds to step S305 and all the character strings in the read ruby-added document data are transferred. On the other hand, it is determined whether at least the processing from step S301 to step S302 has been executed (step S305).

ステップS303では、現在処理対象の文字列の改行位置の候補の場所を決定した後、実際に改行する位置を決定する処理であり、その詳細処理の説明は、図9を用いて後述する。   Step S303 is a process for determining the position of the line feed position candidate of the current character string to be processed, and then determining the actual line feed position. The detailed process will be described later with reference to FIG.

次に、ステップS303の処理を実行した後、ステップS303で決定された改行の位置に従って改行処理を実行し(ステップS304)、処理をステップS305に移行する。   Next, after executing the process of step S303, the line feed process is executed according to the line feed position determined in step S303 (step S304), and the process proceeds to step S305.

ステップ305で、読み込んだルビ付き文書データ内の全ての全文字列に対して、少なくともステップS301からステップS302の処理を実行していないと判定された場合は(ステップS305:NO)、次の文字列を処理対象の文字列として設定して(ステップS307)、ステップS301に処理を移行する。   If it is determined in step 305 that at least the processing from step S301 to step S302 has not been executed for all the character strings in the read ruby-added document data (step S305: NO), the next character The column is set as a character string to be processed (step S307), and the process proceeds to step S301.

ステップS305で、読み込んだルビ付き文書データ内の全ての全文字列に対して処理を実行した場合は、ステップS304で改行され組版された文書データデータを、CRT210等の表示部への表示、又は複合機300への印刷などの出力処理を実行する(ステップS306)。
<図4の説明>
図4は、図3のステップS301の詳細処理を示すフローチャートである。
If processing has been performed for all the character strings in the read ruby-added document data in step S305, the line-breaked and formatted document data data in step S304 is displayed on the display unit such as the CRT 210, or Output processing such as printing on the multifunction machine 300 is executed (step S306).
<Description of FIG. 4>
FIG. 4 is a flowchart showing detailed processing in step S301 of FIG.

図4に示すステップS401からステップS404までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S401 to step S404 shown in FIG. 4 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

まず、情報処理装置100のCPU201は、プログラムが実行されると、情報処理装置100の外部メモリ211に記憶されている図15に示すデータを読み込む。
図15は、情報処理装置100の外部メモリ211に記憶されているルビ付き文書データを出力するために用いるデータの一例を説明するための図である。
ここで、図15について説明する。
First, when the program is executed, the CPU 201 of the information processing apparatus 100 reads data illustrated in FIG. 15 stored in the external memory 211 of the information processing apparatus 100.
FIG. 15 is a diagram for explaining an example of data used to output ruby-added document data stored in the external memory 211 of the information processing apparatus 100.
Here, FIG. 15 will be described.

図15に示す通り、情報処理装置100の外部メモリ211には、文字枠の情報1501、段落の情報1502、行分割位置1503、本文の文字情報1504、文字属性情報1505、ルビ属性情報1506が記憶されている。
文字枠の情報1501は、文字枠の高さ、文字枠の幅、文字枠の配置位置から構成されている。
As shown in FIG. 15, character frame information 1501, paragraph information 1502, line division position 1503, text character information 1504, character attribute information 1505, and ruby attribute information 1506 are stored in the external memory 211 of the information processing apparatus 100. Has been.
The character frame information 1501 includes a character frame height, a character frame width, and a character frame arrangement position.

また、段落の情報1502は、段落番号、当該段落番号で識別される段落に配置される文字列のデータと、当該段落番号で識別される段落の高さ、及び幅から構成されている。   The paragraph information 1502 includes a paragraph number, character string data arranged in the paragraph identified by the paragraph number, and the height and width of the paragraph identified by the paragraph number.

また、行分割位置(情報)1503は改行位置を示す情報である。ここでは、改行される文字の、段落の先頭からの文字数により改行位置(行分割位置)が特定されている。 A line division position (information) 1503 is information indicating a line feed position. Here, the line feed position (line division position) is specified by the number of characters from the beginning of the paragraph of the characters to be line feed.

また、本文の文字情報1504は、文書(本文)内の文字列の文字コードから構成される。また、文字属性情報1505は、文字のサイズ(ポイント数)、フォントの種類、文字間の間隔などの文字の属性情報と、当該文字の属性情報が適用される文字を、段落の先頭からの文字数(開始位置と終了位置)により特定している。開始位置から終了位置までの文字に対して、設定されている文字の属性情報が適用される。   The text character information 1504 includes a character code of a character string in the document (text). The character attribute information 1505 includes character attribute information such as a character size (number of points), a font type, a space between characters, and a character to which the character attribute information is applied. It is specified by (start position and end position). The set character attribute information is applied to the characters from the start position to the end position.

また、ルビ属性情報1506は、ルビ属性情報番号、親文字の開始位置、親文字の文字数、ルビの種別、ルビの配置位置、ルビ文字の区切り位置、ルビ文字、ルビ分割フラグ、親文字の分割位置、ルビ文字の分割位置、ルビの文字間隔、文字サイズ、フォントがそれぞれ対応して構成されている。   The ruby attribute information 1506 includes a ruby attribute information number, a starting position of the parent character, the number of parent characters, a ruby type, a ruby arrangement position, a ruby character separation position, a ruby character, a ruby division flag, and a parent character division. The position, the ruby character division position, the ruby character spacing, the character size, and the font are respectively configured.

ルビ属性情報番号とは、設定されるルビを識別するための情報である。また、親文字の開始位置は、ルビの属性情報が適用される親文字を特定するための情報であり、本実施例では、適用される親文字の、段落先頭からの文字数が記憶されている。また、親文字の文字数は、ルビの属性情報が適用される、親文字の開始位置からの文字数である。   The ruby attribute information number is information for identifying the set ruby. The starting position of the parent character is information for specifying the parent character to which the ruby attribute information is applied. In this embodiment, the number of characters from the beginning of the paragraph of the parent character to be applied is stored. . The number of characters of the parent character is the number of characters from the start position of the parent character to which ruby attribute information is applied.

また、ルビの種別は、適用されるルビがモノルビ、グループルビ、熟語ルビのどの種類のルビかを識別するための情報が記憶されている。また、ルビの配置位置は、親文字に対して上側に付されるルビなのか、それとも下側に付されるルビなのかを識別可能に設定されている。本実施の形態では、親文字が横方向の文字列を想定して説明するため、付されるルビが親文字の上側か下側かを設定しているが、親文字が縦方向の文字列の場合は、親文字に対して右側や左側を設定してもよい。   As the type of ruby, information for identifying the type of ruby to be applied is mono ruby, group ruby or idiom ruby. The ruby arrangement position is set so as to be able to identify whether the ruby is attached to the upper side or the ruby attached to the lower side with respect to the parent character. In this embodiment, since the explanation is based on the assumption that the parent character is a horizontal character string, it is set whether the attached ruby is above or below the parent character, but the parent character is a vertical character string. In this case, the right side or the left side may be set for the parent character.

また、ルビ文字の区切り位置には、ルビの分割位置の候補(分割候補位置)が記憶される。また、ルビ文字は、親文字に付されるルビの文字のことである。
また、ルビ分割フラグは、ルビを分割するか否かを「0」と「1」とで識別可能に設定されている。
In addition, candidates for ruby division positions (division candidate positions) are stored in the ruby character delimiter positions. The ruby character is a ruby character attached to the parent character.
In addition, the ruby division flag is set so that it can be identified by “0” and “1” whether or not the ruby is divided.

また、親文字の分割位置は、親文字(列)のどこが分割されるかを示す情報であり、本実施例では、親文字の始めの文字から何文字目になったら、次の文字(列)を分割するかの情報が設定されている。すなわち、分割された場合に、分かれる前方の親文字の数が設定されている。   Further, the division position of the parent character is information indicating where the parent character (column) is divided. In this embodiment, when the first character of the parent character is reached, the next character (string) ) Is set. That is, when divided, the number of front parent characters to be divided is set.

また、ルビ文字の分割位置は、どこでルビが分割されるかを示す情報であり、本実施例では、ルビの始めの文字から何文字目になったら、次のルビの文字(列)を分割するかの情報が設定されている。すなわち、分割された場合に、分かれる前方のルビの文字数が設定されている。   In addition, the ruby character dividing position is information indicating where the ruby is divided. In this embodiment, when the number of characters from the first character of the ruby starts, the next ruby character (column) is divided. Information on whether to do is set. That is, the number of characters in the front ruby to be divided is set when divided.

また、ルビの文字間隔は、出力されるルビの文字間隔を示している。また、文字サイズは、出力されるルビのサイズ(大きさ)を示している。また、フォントは、出力されるルビのフォントの種類が設定される。   The ruby character spacing indicates the spacing between the output ruby characters. The character size indicates the size (size) of the output ruby. In addition, the type of output ruby font is set as the font.

<図20の説明>
ここで、図15のルビ属性情報1506に記憶されるデータの登録について、説明する。
図20は、ルビを登録するための画面の一例を示す図である。
<Description of FIG. 20>
Here, registration of data stored in the ruby attribute information 1506 in FIG. 15 will be described.
FIG. 20 is a diagram illustrating an example of a screen for registering ruby.

ルビ登録画面2000は、ユーザにより親文字を入力する入力欄2001と、当該入力欄に入力された親文字に対して上ルビとして設定するルビの種別の選択を受け付けるラジオボタン2002と、当該上ルビとして出力する文字列を入力する入力欄2003と、当該入力欄に入力された親文字に対して下ルビとして設定するルビの種別の選択を受け付けるラジオボタン2004と、当該下ルビとして出力する文字列を入力する入力欄2005と、登録ボタン2006、キャンセルボタン2007とから構成されている。   The ruby registration screen 2000 includes an input field 2001 for inputting a parent character by a user, a radio button 2002 for accepting selection of a ruby type to be set as upper ruby for the parent character input in the input field, and the upper ruby An input field 2003 for inputting a character string to be output as a radio button, a radio button 2004 for accepting selection of a ruby type set as a lower ruby for the parent character input to the input field, and a character string to be output as the lower ruby Input field 2005, registration button 2006, and cancel button 2007.

ここで、下ルビとは、親文字に対して付されたルビであり、親文字の下に出力されるルビのことである。また、上ルビとは、親文字に対して付されたルビであり、親文字の上に出力されるルビのことである。   Here, the lower ruby is a ruby attached to the parent character and is a ruby output below the parent character. Further, the upper ruby is a ruby attached to the parent character and is a ruby output on the parent character.

本実施例では、親文字が横書きの場合の下ルビと上ルビを事例に説明するが、親文字が縦書きの場合は、下ルビ、上ルビの代わりに、それぞれ右ルビ、左ルビと言い換えても良い。ここで右ルビとは、親文字に対して付されたルビであり、親文字の右に出力されるルビのことである。また、左ルビとは、親文字に対して付されたルビであり、親文字の左に出力されるルビのことである。   In this example, lower ruby and upper ruby when the parent character is horizontal writing will be described as an example. However, when the parent character is vertical writing, instead of lower ruby and upper ruby, they are called right ruby and left ruby respectively. May be. Here, the right ruby is a ruby attached to the parent character and is a ruby output to the right of the parent character. The left ruby is a ruby attached to the parent character, and is a ruby output to the left of the parent character.

ユーザにより、ルビを設定する親文字が2001に入力され、ルビの配置位置(上ルビ/下ルビ)に設定するルビの種別が選択され、入力欄2003及び/又は入力欄205にルビが入力される。そして、ユーザにより登録ボタン2006が押下されると、ルビ登録画面2000で入力(選択)されたデータが登録される。
次に、図4の説明に戻る。
The user inputs the base character for setting the ruby in 2001, selects the type of ruby to be set as the ruby arrangement position (upper ruby / lower ruby), and inputs the ruby in the input field 2003 and / or the input field 205. The When the registration button 2006 is pressed by the user, data input (selected) on the ruby registration screen 2000 is registered.
Next, the description returns to FIG.

図15に示すデータを読み込んだあとに、処理対象の文字列を設定する。具体的には、ルビ属性情報1506の「親文字の開始位置」で数値の小さい親文字から処理の対象に設定する。すなわち、本文の始めの文字列から処理対象に設定する。   After reading the data shown in FIG. 15, a character string to be processed is set. Specifically, the parent character having a small numerical value is set as the processing target in the “start position of the parent character” of the ruby attribute information 1506. That is, the processing is set from the first character string in the body.

そして、設定された処理対象の文字列(対象文字列)に対して、ルビの配置位置に上ルビが設定されているか否かを判定する(ステップS401)。そして、ルビの配置位置に上ルビが設定されていれば、「上ルビのルビ配置処理」を実行する(ステップS402)。ステップS402の詳細処理は、図5を用いて後述する。   Then, it is determined whether or not the upper ruby is set at the ruby arrangement position with respect to the set character string to be processed (target character string) (step S401). If the upper ruby is set at the ruby placement position, the “upper ruby ruby placement process” is executed (step S402). Detailed processing in step S402 will be described later with reference to FIG.

ステップS401でルビの配置位置に上ルビが設定されていと判定された場合は、処理をステップS403に移行し、ルビの配置位置に下ルビが設定されているか否かを判定する(ステップS403)。そして、ルビの配置位置に下ルビが設定されていれば、「上ルビのルビ配置処理」を実行する(ステップS404)。ステップS402の詳細処理は、図5を用いて後述する。   If it is determined in step S401 that the upper ruby is set at the ruby placement position, the process proceeds to step S403, and it is determined whether the lower ruby is set at the ruby placement position (step S403). . If the lower ruby is set at the ruby arrangement position, the “upper ruby arrangement processing” is executed (step S404). Detailed processing in step S402 will be described later with reference to FIG.

ここで、ステップS402とステップS404のルビ配置処理は、処理対象が上ルビか下ルビかの違いであり、本実施の形態では、図5の説明をすることで、ステップS402とステップS404をすることとする。   Here, the ruby arrangement processing in step S402 and step S404 is the difference between whether the processing target is upper ruby or lower ruby. In this embodiment, step S402 and step S404 are performed by explaining FIG. I will do it.

<図5の説明>
図5は、図4のステップS402及びステップS404の詳細処理を示すフローチャートである。
<Description of FIG. 5>
FIG. 5 is a flowchart showing detailed processing in steps S402 and S404 in FIG.

図5に示すステップS501からステップS504までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S501 to step S504 illustrated in FIG. 5 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

まず、情報処理装置100のCPU201は、読み出したルビ属性情報で、現在処理対象の対象文字列(親文字)に対して設定されているルビの種類を判定する(ステップS501)。具体的には、「ルビ種類」がグループルビに設定されているか、モノルビに設定されているか、熟語ルビに設定されているか、を判定する。   First, the CPU 201 of the information processing apparatus 100 determines the type of ruby set for the target character string (parent character) that is the current processing target based on the read ruby attribute information (step S501). Specifically, it is determined whether the “ruby type” is set to group ruby, mono ruby, or idiom ruby.

そして、ステップS501でモノルビと設定されていると判定された場合は、処理をステップS502に移行して、モノルビ処理を実行する。モノルビ処理の詳細処理は、図6を用いて後述する。   If it is determined in step S501 that mono ruby is set, the process proceeds to step S502, and mono ruby processing is executed. Detailed processing of the Monorbi processing will be described later with reference to FIG.

また、ステップS501でグループルビと設定されていると判定された場合は、ステップS503に処理を移行して、グループルビ処理を実行する(ステップS503)。グループルビ処理の詳細処理は、図7を用いて後述する。   If it is determined in step S501 that the group ruby is set, the process proceeds to step S503 to execute the group ruby process (step S503). Detailed processing of the group ruby processing will be described later with reference to FIG.

また、ステップS501で熟語ルビと設定されていると判定された場合は、ステップS504に処理を移行して、熟語ルビ処理を実行する(ステップS504)。熟語ルビ処理の詳細処理は、図8を用いて後述する。   If it is determined in step S501 that idiom ruby is set, the process proceeds to step S504 to execute idiom ruby processing (step S504). Detailed processing of the idiom ruby processing will be described later with reference to FIG.

<図6の説明>
図6は、図5のステップS502の詳細処理を示すフローチャートである。
<Description of FIG. 6>
FIG. 6 is a flowchart showing detailed processing in step S502 of FIG.

図6に示すステップS601からステップS606までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S601 to step S606 shown in FIG. 6 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

まず、情報処理装置100のCPU201は、ルビの文字列長を算出する(ステップS601)。具体的には、現在、処理対象の文字列(親文字)に設定されているルビ属性情報内のルビの文字数、ルビの文字サイズ、フォント、ルビの文字間隔から、当該親文字に付されるルビの文字列の長さ(文字列長)を算出する。   First, the CPU 201 of the information processing apparatus 100 calculates a ruby character string length (step S601). Specifically, it is attached to the parent character from the number of ruby characters, ruby character size, font, and ruby character spacing in the ruby attribute information currently set in the character string (parent character) to be processed. Ruby character string length (character string length) is calculated.

次に、情報処理装置100のCPU201は、親文字列長を算出する(ステップS602)。具体的には、現在、処理対象の文字列(親文字)に対応する、ルビ属性情報内の親文字数、ルビ種別などと、文字属性情報内の親文字の文字属性情報1505内の文字サイズ、文字間隔、フォントなどとから、処理対象の文字列(親文字)の長さ(親文字列長)を算出する。   Next, the CPU 201 of the information processing apparatus 100 calculates a parent character string length (step S602). Specifically, the number of parent characters in the ruby attribute information, the ruby type, and the like corresponding to the character string (parent character) to be processed, the character size in the character attribute information 1505 of the parent character in the character attribute information, From the character spacing, font, etc., the length (parent character string length) of the character string (parent character) to be processed is calculated.

次に、情報処理装置100のCPU201は、ステップS602で算出された親文字列長よりも、ステップS601で算出されたルビの文字列長が長いか否かを判定する(ステップS603)。そして、親文字列長よりも、ルビの文字列長の方が長いと判定された場合は(ステップS603:YES)、ルビの文字列長が親文字列長以下になるように、親文字の前後の文字の文字間隔を調整する(ステップS604)。一方、親文字列長がルビの文字列長以下であると判定された場合は(ステップS603:NO)、処理をステップS605に移行する。ステップS604でルビの文字列長が親文字列長以下になるように、親文字の前後の文字の文字間隔を調整した後に、又は、親文字列長がルビの文字列長以下であると判定された場合は(ステップS603:NO)、現在処理対象の文字列を組版し(ステップS605)、処理対象の文字列に対するルビを組版する(ステップS606)。ステップS605、ステップS606で、組版される親文字とルビは、ルビ属性情報に記憶されており、現在処理対象の文字列と当該文字列に対応するルビが組版される。   Next, the CPU 201 of the information processing apparatus 100 determines whether or not the ruby character string length calculated in step S601 is longer than the parent character string length calculated in step S602 (step S603). If it is determined that the ruby character string length is longer than the parent character string length (step S603: YES), the ruby character string length is equal to or less than the parent character string length. The character spacing between the preceding and following characters is adjusted (step S604). On the other hand, when it is determined that the parent character string length is equal to or less than the ruby character string length (step S603: NO), the process proceeds to step S605. In step S604, after adjusting the character spacing before and after the parent character so that the ruby character string length is equal to or less than the parent character string length, or determined that the parent character string length is equal to or less than the ruby character string length. If so (step S603: NO), the current character string to be processed is typeset (step S605), and the ruby for the character string to be processed is typeset (step S606). In step S605 and step S606, the parent character and ruby typeset are stored in the ruby attribute information, and the character string to be currently processed and the ruby corresponding to the character string are typeset.

<図7の説明>
図7は、図5のステップS503の詳細処理を示すフローチャートである。
<Explanation of FIG. 7>
FIG. 7 is a flowchart showing detailed processing in step S503 of FIG.

図7に示すステップS701からステップ707までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S701 to step 707 shown in FIG. 7 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

ステップS701、ステップS702及びステップS703は、それぞれステップS601とステップS602とステップS603と同様なので、ここでは説明を省略する。   Since step S701, step S702, and step S703 are the same as step S601, step S602, and step S603, respectively, description thereof is omitted here.

ステップS703で、親文字列長よりも、ルビの文字列長の方が長いと判定された場合は(ステップS703:YES)、ルビの文字列長と親文字列長が同じになる親文字間の間隔を算出する(ステップS704)。一方、親文字列長がルビの文字列長以下であると判定された場合は(ステップS703:NO)、処理をステップS705に移行する。ステップS705では、ルビの文字列長と親文字列長とが同じになるルビの文字列の間隔を算出する。   If it is determined in step S703 that the ruby character string length is longer than the parent character string length (step S703: YES), the character string length between the ruby character string and the parent character string length is the same. Is calculated (step S704). On the other hand, if it is determined that the parent character string length is equal to or less than the ruby character string length (step S703: NO), the process proceeds to step S705. In step S705, an interval between ruby character strings having the same ruby character string length and the same parent character string length is calculated.

次に、ステップS704又はステップS705を実行したあと、処理をステップS706に移行する。ステップS706及びステップS707はそれぞれ、図6に示すステップS605及びステップS606と同様なので、ここでは説明を省略する。   Next, after step S704 or step S705 is executed, the process proceeds to step S706. Steps S706 and S707 are the same as steps S605 and S606 shown in FIG.

<図8の説明>
図8は、図5のステップS504の詳細処理を示すフローチャートである。
<Description of FIG. 8>
FIG. 8 is a flowchart showing the detailed processing of step S504 in FIG.

図8に示すステップS801からステップ807までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S801 to step 807 shown in FIG. 8 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

ステップS801、ステップS802、ステップS803、ステップS804、ステップS805、ステップS806、ステップS807はそれぞれ、ステップS701、ステップS702、ステップS703、ステップS704、ステップS705、ステップS706、ステップS707と同様なのでここでは説明を省略する。   Step S801, Step S802, Step S803, Step S804, Step S805, Step S806, and Step S807 are the same as Step S701, Step S702, Step S703, Step S704, Step S705, Step S706, and Step S707, respectively. Omitted.

<図9の説明>
図9は、図3のステップS303の詳細処理を示すフローチャートである。
<Description of FIG. 9>
FIG. 9 is a flowchart showing the detailed processing of step S303 in FIG.

図9に示すステップS901からステップS907までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S901 to step S907 shown in FIG. 9 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

情報処理装置100のCPU201は、ステップS302で、現在の対象文字列が、文字枠の幅を超えると判定(改行すると判定)された場合は、現在の処理対象の文字列に対して、上ルビと下ルビが付されているか否かを判定する(ステップS901)。具体的には、現在の処理対象文字列に対する、ルビ属性情報内のルビの配置位置に上ルビと下ルビが付されているか否かを判定する。
ここで、現在処理対象の文字列の一部が、他のルビ属性情報番号の文字列(親文字)と重複している場合、その文字列も処理対象となる。
If the CPU 201 of the information processing apparatus 100 determines in step S302 that the current target character string exceeds the width of the character frame (determines that the line breaks), the upper ruby is compared to the current target character string. It is determined whether or not a lower ruby is attached (step S901). Specifically, it is determined whether or not upper ruby and lower ruby are attached to the ruby arrangement position in the ruby attribute information for the current character string to be processed.
Here, when a part of the character string to be processed overlaps with a character string (parent character) of another ruby attribute information number, the character string is also processed.

具体的には、ルビ属性情報1506のルビ属性情報番号が1で処理対象になっている親文字は、「野鳥を観察し楽しむ」という文字列であり、上ルビとして「バードウォッチング」が設定されている。また、ルビ属性情報番号が2に、ルビ属性情報番号が1で処理対象になっている親文字と重複した「野鳥」に対して、下ルビとして「やちょう」が設定されている。このように、現在処理対象の文字列の一部が、他のルビ属性情報番号の文字列(親文字)と重複している場合、その文字列も処理対象となる。   More specifically, the ruby attribute information number of the ruby attribute information 1506 is 1, and the parent character to be processed is a character string “observing and enjoying a bird”, and “bird watching” is set as the upper ruby. ing. In addition, “Yacho” is set as the lower ruby for “wild bird” whose ruby attribute information number is 2 and whose ruby attribute information number is 1 and which overlaps the parent character to be processed. Thus, when a part of the character string to be processed overlaps with a character string (parent character) of another ruby attribute information number, the character string is also processed.

このように、現在の処理対象の文字列に対して、上ルビと下ルビが設定されている場合(ステップS901:YES)、まずは上ルビが設定された親文字の分割位置の候補を決定するための処理(ステップS902)を実行する。一方、現在の処理対象の文字列に対して、上ルビと下ルビが共に設定されていない場合(ステップS901:NO)、ルビが設定された現在処理対象の文字列の分割位置の候補を決定するための処理(ステップS905)を実行する。   As described above, when the upper ruby and the lower ruby are set for the current character string to be processed (step S901: YES), first, the candidate for the division position of the parent character for which the upper ruby is set is determined. For this purpose (step S902). On the other hand, if neither upper ruby nor lower ruby is set for the current character string to be processed (step S901: NO), a candidate for the division position of the current character string to be processed for which ruby is set is determined. The process (step S905) for performing is performed.

そして、ステップS902を実行した後、下ルビが設定された親文字の分割位置の候補を決定するための処理(ステップS903)を実行し、その後に、行分割位置まとめ処理(ステップS904)を行う。   Then, after executing step S902, a process (step S903) for determining a parent character division position candidate for which lower ruby is set is executed, and then a line division position summarization process (step S904) is performed. .

ステップS905の処理の後に、ステップS905で決定された分割位置で改行する(ステップS906)。そして、グループルビの分割フラグをルビ属性情報1506に設定する。   After the processing in step S905, a line feed is made at the division position determined in step S905 (step S906). Then, the group ruby division flag is set in the ruby attribute information 1506.

ここで、ステップS902とステップS903とステップS905はそれぞれ、処理の対象が、上ルビか、下ルビか、設定されているルビかにより異なるだけあり、処理自体は変わらない。   Here, step S902, step S903, and step S905 are different depending on whether the processing target is an upper ruby, a lower ruby, or a set ruby, and the processing itself does not change.

ステップS902とステップS903とステップS905の詳細処理の説明を、図10を用いて後述する。   Detailed processing in steps S902, S903, and S905 will be described later with reference to FIG.

また、ステップS904の詳細処理の説明を、図11を用いて後述する。   Further, the detailed processing in step S904 will be described later with reference to FIG.

<図10の説明>
図10は、図9のステップS902、S903、S905の詳細処理を示すフローチャートである。
<Description of FIG. 10>
FIG. 10 is a flowchart showing detailed processing of steps S902, S903, and S905 of FIG.

図10に示すステップS1001からステップS1007までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S1001 to step S1007 shown in FIG. 10 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

情報処理装置100のCPU201は、現在処理対象の文字列(親文字)の中のどこで行が切れるか(行の切れ目)(行端ともいう)を算出して特定する(ステップS1001)。   The CPU 201 of the information processing apparatus 100 calculates and specifies where the line breaks (line break) (also referred to as line end) in the current character string (parent character) to be processed (step S1001).

具体的には、現在処理対象の文字列が配置される行の文字の文字数、そのフォントサイズ(文字サイズ)、文字間隔、出力されるフォントなどから、当該行に配置される行頭の文字から各文字までの距離を算出する。そして、算出された各文字までの距離が、段落の情報1502の段落の幅を超える文字と、当該文字の隣に配置される、段落の幅を超えない文字との間を行の切れ目として特定する。   Specifically, from the number of characters in the line where the current character string to be processed is placed, its font size (character size), character spacing, output font, etc., each character from the beginning of the line placed in the line Calculate the distance to the character. Then, a line break is specified between the calculated distance to each character that exceeds the paragraph width of the paragraph information 1502 and the character that is placed next to the character and does not exceed the paragraph width. To do.

次に、特定された「行の切れ目」にグループルビが付されているかを判定し、グループルビが付されていると判定された場合は(ステップS1002:YES)、グループルビの先頭を改行位置の候補として設定する(ステップS1004)。すなわち、グループルビが設定された親文字と、グループルビが設定されていない親文字との間を改行位置の候補(分割候補位置)として設定する。   Next, it is determined whether a group ruby is attached to the specified “line break”. If it is determined that the group ruby is attached (step S1002: YES), the head of the group ruby is set to the line feed position. Are set as candidates (step S1004). That is, a line feed position candidate (division candidate position) is set between a parent character for which group ruby is set and a parent character for which group ruby is not set.

一方、特定された行の切れ目にグループルビが付されていないと判定された場合は(ステップS1002:NO)、行の切れ目に熟語ルビが付されているかを判定する(ステップS1003)。そして、熟語ルビが付されていると判定された場合は(ステップS1003:YES)、熟語ルビが設定された親文字の分割位置を改行位置候補に設定する(ステップS1005)。熟語ルビは、改行可能な親文字の位置が予め設定されているため、その改行可能な位置を親文字の改行位置の候補として設定される。この予め設定された改行可能な位置は記憶されている。   On the other hand, when it is determined that the group ruby is not attached to the specified line break (step S1002: NO), it is determined whether the idiom ruby is attached to the line break (step S1003). If it is determined that the idiom ruby is attached (step S1003: YES), the division position of the parent character to which the idiom ruby is set is set as a line feed position candidate (step S1005). In the idiom ruby, since the position of the parent character that can be broken is set in advance, the position where the line break is possible is set as a candidate for the parent line break position. The preset line-breakable position is stored.

次に、ステップS1003で熟語ルビが付されていないと判定された場合は(ステップS1003:NO)、行の切れ目を親文字の改行位置の候補として設定する(ステップS1006)。   Next, when it is determined in step S1003 that the idiom ruby is not attached (step S1003: NO), a line break is set as a candidate for a new line position of the parent character (step S1006).

そして、ステップS1004、ステップS1005、ステップS1006で設定されたルビが設定された親文字の分割位置の候補を、ルビ属性情報1506の「ルビ文字の区切り位置」に記憶する(ステップS1007)。 Then, the parent character division position candidates set with the ruby set in step S1004, step S1005, and step S1006 are stored in the “ruby character delimiter position” of the ruby attribute information 1506 (step S1007).

図9のステップS902では、上ルビを処理の対象として、図10に示す処理を実行し、図9のステップS903では、下ルビを処理の対象として、図10に示す処理を実行する。
また、図9のステップS905では、付されている上ルビ又は下ルビを処理の対象として、図10に示す処理を実行する。
In step S902 in FIG. 9, the process shown in FIG. 10 is executed with the upper ruby as a processing target, and in step S903 in FIG. 9, the process shown in FIG. 10 is executed with the lower ruby as a processing target.
Moreover, in step S905 of FIG. 9, the process shown in FIG. 10 is performed for the attached upper ruby or lower ruby as a processing target.

<図11の説明>
図11は、図9のステップS904の詳細処理を示すフローチャートである。
<Description of FIG. 11>
FIG. 11 is a flowchart showing detailed processing in step S904 in FIG.

図11に示すステップS1101からステップS1106までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S1101 to step S1106 shown in FIG. 11 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

情報処理装置100のCPU201は、まず、ステップS1006及び/又はステップS1005及び/又はステップS1004で候補として設定された、上ルビと下ルビとして設定された親文字の分割位置が同じか否かを判定する(ステップS1101)。ここでは、行の切れ目と上ルビと下ルビの親文字の分割位置とが同じかを判定している。   The CPU 201 of the information processing apparatus 100 first determines whether or not the division positions of the parent characters set as the upper ruby and the lower ruby set as candidates in step S1006 and / or step S1005 and / or step S1004 are the same. (Step S1101). Here, it is determined whether the line break and the division position of the upper ruby and lower ruby parent characters are the same.

そして、分割位置の候補が同じ位置にある場合、候補として同じ分割位置を、分割位置に決定し設定する(ステップS1003)。   If the candidate for the division position is at the same position, the same division position as the candidate is determined and set as the division position (step S1003).

一方、ステップS1101で、行の切れ目と、候補として設定された上ルビと下ルビの分割位置が異なると判定された場合は、上ルビと下ルビの両方がグループルビか否かを判定する(ステップS1102)。そして、上ルビと下ルビの両方がグループルビであると判定された場合は、ステップS1104に処理を移行して、分割位置を決定するための処理を実行する。ステップS1104の詳細処理の説明は、図12を用いて後述する。   On the other hand, if it is determined in step S1101 that the line break and the division positions of the upper ruby and the lower ruby set as candidates are different, it is determined whether both the upper ruby and the lower ruby are group ruby ( Step S1102). If it is determined that both the upper ruby and the lower ruby are group ruby, the process proceeds to step S1104, and a process for determining a division position is executed. The detailed process in step S1104 will be described later with reference to FIG.

ステップS1002において、上ルビと下ルビの両方がグループルビではないと判定された場合は、グループルビではない方のルビが設定された親文字の分割位置候補(分割候補位置)の中から、分割位置を決定し設定する(ステップS1106)。ここでの分割位置の決定方法については、図18の1802及び図19の1901、1902を用いて説明する。   If it is determined in step S1002 that both the upper ruby and the lower ruby are not group ruby, splitting is performed from among the parent character division position candidates (division candidate positions) in which the ruby that is not group ruby is set. The position is determined and set (step S1106). The method for determining the division position here will be described with reference to 1802 in FIG. 18 and 1901 and 1902 in FIG.

次に、ステップS1104の処理を実行したあと、を実行する(ステップS1105)。グループルビの分割処理の詳細処理は、図13を用いて後述する。   Next, after executing the process of step S1104, the process is executed (step S1105). Detailed processing of group ruby division processing will be described later with reference to FIG.

<図12の説明>
図12は、図11のステップS1104の詳細処理を示すフローチャートである。
<Description of FIG. 12>
FIG. 12 is a flowchart showing detailed processing in step S1104 of FIG.

図12に示すステップS1201からステップS1210までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S1201 to step S1210 illustrated in FIG. 12 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

情報処理装置100のCPU201は、行の切れ目の位置から、上ルビの分割候補位置までの距離をD1として算出する(ステップS1201)。次に、行の切れ目位置から、下ルビの分割候補位置までの距離D2を算出する(ステップS1202)。ここでの処理を、図17を用いて説明する。   The CPU 201 of the information processing apparatus 100 calculates the distance from the position of the line break to the upper ruby division candidate position as D1 (step S1201). Next, a distance D2 from the line break position to the lower ruby division candidate position is calculated (step S1202). This process will be described with reference to FIG.

図17は、親文字に対して行の切れ目位置から分割候補位置までの距離を説明するための図である。   FIG. 17 is a diagram for explaining the distance from the line break position to the division candidate position with respect to the parent character.

図17には、親文字である「○×△●□▲■▽○▼」が右方向に記載されている例を示している。ここで、「□▲■▽」の親文字に対して上ルビとしてグループルビが付されることを示している。また、「△●□▲」の親文字に対して下ルビとしてグループルビが付されることを示している。   FIG. 17 shows an example in which the parent character “◯ × Δ ● □ ▲ ■ ▽ ○ ▼” is written in the right direction. Here, it is shown that a group ruby is attached as an upper ruby to the parent character of “□ ▲ ■ ▽”. In addition, a group ruby is attached as a lower ruby to the parent character of “Δ ● □ ▲”.

したがって、上ルビの分割候補位置は、「●」と「□」の間と、「▽」と「○」の間となる。また、下ルビの分割候補位置は、「×」と「△」の間と、「▲」と「■」の間となる。
そして、図17には、「▲」と「■」の間に行の切れ目の位置があることを示している。
Therefore, the upper ruby division candidate positions are between “●” and “□” and between “▽” and “◯”. The lower ruby division candidate positions are between “×” and “△” and between “▲” and “■”.
FIG. 17 shows that there is a line break position between “▲” and “■”.

このような場合、ステップS1201で算出されるD1は、図17に示すように、行の切れ目の位置から上ルビの分割候補位置までの距離となり、また、ステップS1202で算出されるD2は、図17に示すように、行の切れ目の位置から下ルビの分割候補位置までの距離となる。 In such a case, as shown in FIG. 17, D1 calculated in step S1201 is a distance from the position of the line break to the upper ruby division candidate position, and D2 calculated in step S1202 is As shown in FIG. 17, the distance is from the position of the line break to the lower ruby division candidate position.

「現在処理対象の文字列が配置される行の行頭の文字から分割候補位置までの距離」から、「行頭の文字から行の切れ目の位置までの距離」を減算することにより、行の切れ目から分割候補位置までの距離を算出することができる。   By subtracting the “distance from the first character to the line break position” from the “distance from the first character of the line where the character string to be processed is placed to the division candidate position”, the line break from the line break. The distance to the division candidate position can be calculated.

このようにして算出されたD1が0(ゼロ)よりも小さい値か否かを判定する(ステップS1203)。すなわち、行の切れ目の位置から行頭に向かって上ルビの分割候補位置があるか否かを判定する。   It is determined whether D1 calculated in this way is a value smaller than 0 (zero) (step S1203). That is, it is determined whether there is an upper ruby division candidate position from the position of the line break toward the beginning of the line.

そして、ステップS1203で、D1が0(ゼロ)よりも小さい値と判定された(行の切れ目の位置から行頭に向かって上ルビの分割候補位置がない)場合は(ステップS1203:YES)、D2が0(ゼロ)よりも小さい値か否かを判定する(ステップS1204)。すなわち、行の切れ目の位置から行頭に向かって下ルビの分割候補位置があるか否かを判定する。   When it is determined in step S1203 that D1 is smaller than 0 (zero) (there is no upper ruby division candidate position from the position of the line break toward the beginning of the line) (step S1203: YES), D2 Whether or not is a value smaller than 0 (zero) is determined (step S1204). That is, it is determined whether there is a lower ruby division candidate position from the position of the line break toward the beginning of the line.

ステップS1203で、D1が0(ゼロ)以上であると判定された場合は(ステップS1203:NO)、D2が0(ゼロ)よりも小さい値か否かを判定する(D2が0(ゼロ)以上であるか否かを判定する)(ステップS1207)。D2が0(ゼロ)よりも小さい値であると判定された場合は、上ルビの分割候補位置の中から分割位置に決定する(ステップS1210)。   When it is determined in step S1203 that D1 is 0 (zero) or more (step S1203: NO), it is determined whether D2 is a value smaller than 0 (zero) (D2 is 0 (zero) or more). (Step S1207). If it is determined that D2 is a value smaller than 0 (zero), the division position is determined from among the upper ruby division candidate positions (step S1210).

具体的には、上ルビの分割候補位置の中から、行の切れ目の位置から行頭に向かって最も近い分割候補位置を選択して、その箇所を分割位置として決定する。行の切れ目の位置に上ルビの分割候補位置がある場合は、その位置を分割位置として決定する。   Specifically, from the upper ruby division candidate positions, the division candidate position closest to the beginning of the line from the position of the line break is selected, and that position is determined as the division position. If there is an upper ruby division candidate position at the line break, that position is determined as the division position.

また、ステップS1207において、D2が0(ゼロ)以上であると判定された場合は(ステップS1207:NO)、D2がD1より長いか否かを判定する(ステップS1208)。そして、D2がD1より長いと判定された場合は(ステップS1208:YES)、処理をステップS1210に移行して、上述した通り、上ルビの分割候補位置の中から分割位置に決定する。   If it is determined in step S1207 that D2 is 0 (zero) or more (step S1207: NO), it is determined whether D2 is longer than D1 (step S1208). If it is determined that D2 is longer than D1 (step S1208: YES), the process proceeds to step S1210, and as described above, the upper ruby division candidate position is determined as the division position.

また、ステップS1207において、D2が0(ゼロ)より小さい値であると判定された場合(ステップS1207:YES)、すなわち、行の切れ目の位置から行頭に向かって下ルビの分割候補位置がないと判定された場合は、ステップS1210に移行して、上述した通り、上ルビの分割候補位置の中から分割位置に決定する。
また、ステップS1208において、D1がD2以上の長さの場合は、ステップs1209に移行して、下ルビの分割候補位置を分割位置として決定する。
If it is determined in step S1207 that D2 is a value smaller than 0 (zero) (step S1207: YES), that is, there is no lower ruby division candidate position from the position of the line break toward the beginning of the line. When it is determined, the process proceeds to step S1210, and as described above, the division position is determined from among the upper ruby division candidate positions.
If it is determined in step S1208 that D1 is equal to or longer than D2, the process proceeds to step s1209 to determine the lower ruby division candidate position as the division position.

具体的には、下ルビの分割候補位置の中から、行の切れ目の位置から行頭に向かって最も近い分割候補位置を選択して、その箇所を分割位置として決定する。行の切れ目の位置に下ルビの分割候補位置がある場合は、その位置を分割位置として決定する。   Specifically, from the lower ruby division candidate positions, the division candidate position closest to the beginning of the line from the position of the line break is selected, and that position is determined as the division position. If there is a lower ruby division candidate position at the line break, that position is determined as the division position.

また、ステップS1204において、D2が0(ゼロ)以上の値である、すなわち、行の切れ目の位置から行頭に向かって下ルビの分割候補位置があると判定された場合(ステップS1204:NO)、処理をステップS1209に移行する。   If it is determined in step S1204 that D2 is a value equal to or greater than 0 (zero), that is, there is a lower ruby division candidate position from the position of the line break toward the beginning of the line (step S1204: NO), The processing moves to step S1209.

また、ステップS1204において、D2が0(ゼロ)よりも小さい値である、すなわち、行の切れ目の位置から行頭に向かって下ルビの分割候補位置がないと判定された場合(ステップS1204:YES)は、行の切れ目を分割位置として決定する(ステップS1205)。   Further, when it is determined in step S1204 that D2 is a value smaller than 0 (zero), that is, there is no lower ruby division candidate position from the position of the line break toward the beginning of the line (step S1204: YES). Determines a line break as a division position (step S1205).

また、ステップS1205、ステップS1209、ステップS1210で決定されルビが設定された親文字の分割位置を、ルビ属性情報1506の「親文字の分割位置」に記憶する(ステップ1206)。ここでは、親文字の分割位置(LG1)を、ルビ属性情報1506内の「親文字の分割位置」に記憶する。   Further, the division position of the parent character determined in steps S1205, S1209, and S1210 and to which ruby is set is stored in the “division position of parent character” of the ruby attribute information 1506 (step 1206). Here, the division position (LG1) of the parent character is stored in the “division position of the parent character” in the ruby attribute information 1506.

<図13の説明>
図13は、図11のステップS1105の詳細処理を示すフローチャートである。
<Description of FIG. 13>
FIG. 13 is a flowchart showing detailed processing in step S1105 of FIG.

図13に示すステップS1301からステップS1307までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。
情報処理装置100のCPU201は、まず、グループルビの文字列の中に(途中に)分割位置があるか否かを判定する(ステップS1301)。
具体的には、ルビ属性情報1506内のルビ分割フラグが「1」か「0」かの判定を行う。
The processing from step S1301 to step S1307 shown in FIG. 13 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.
The CPU 201 of the information processing apparatus 100 first determines whether or not there is a division position (in the middle) in the group ruby character string (step S1301).
Specifically, it is determined whether the ruby division flag in the ruby attribute information 1506 is “1” or “0”.

そして、グループルビの文字列の中に(途中に)分割位置がある(ルビ分割フラグが「1」)と判定された場合は(ステップS1301:YES)、分割位置よりも前の親文字数(LG1)を、ルビ属性情報1506の「親文字の分割位置」の項目から取得する。   If it is determined that there is a division position in the character string of the group ruby (in the middle) (the ruby division flag is “1”) (step S1301: YES), the number of parent characters before the division position (LG1) ) Is acquired from the item “parent character division position” of the ruby attribute information 1506.

また、ルビ属性情報から、処理対象の親文字の文字数(全文字数)を取得する。そして、親文字の文字数(全文字数)から、分割される場合の、前方側の親文字数(分割位置よりも前の親文字数)を引くことにより、分割位置より後の親文字の文字数(LG2)を算出して取得する(ステップS1302)。   Further, the number of characters (total number of characters) of the parent character to be processed is acquired from the ruby attribute information. Then, the number of parent characters after the division position (LG2) is subtracted from the number of parent characters (total number of characters) by subtracting the number of parent characters on the front side (the number of parent characters before the division position). Is calculated and acquired (step S1302).

そして、処理対象のルビ(文字)(LR)(例えば、バードウォッチングなどのルビ文字)を、ルビ属性情報1506の「ルビ文字」の項目から取得する(ステップS1303)。
次に、分割位置よりも前のルビの文字数を、次式を算出することにより取得する(ステップS1304)。
Then, the ruby (character) (LR) to be processed (for example, ruby characters such as bird watching) is acquired from the item “ruby characters” of the ruby attribute information 1506 (step S1303).
Next, the number of ruby characters before the division position is obtained by calculating the following equation (step S1304).

(式)「分割位置よりも前のルビの文字数(LR1)」=「ルビの文字数(LR)」×「分割位置より前の親文字数(LG1)」÷(「分割位置より前の親文字数(LG1)」+「分割位置より後の親文字数(LG2)」) (Expression) “Number of ruby characters before dividing position (LR1)” = “number of ruby characters (LR)” × “number of parent characters before dividing position (LG1)” ÷ (number of parent characters before dividing position ( LG1) "+" number of parent characters after the dividing position (LG2) ")

上述した式を用いて算出された「分割位置よりも前のルビの文字数(LR1)」が、整数として表すことが出来ない値(小数など)の場合、例えば、小数点以降の小数を、四捨五入などして整数に丸める(ステップS1305)。   When the “number of ruby characters before the dividing position (LR1)” calculated using the above-described formula is a value that cannot be expressed as an integer (such as a decimal), for example, the decimal after the decimal point is rounded off. And rounded to an integer (step S1305).

そして、ステップS1303で取得したルビの文字数から、ステップS1305で算出された整数の「分割位置よりも前のルビの文字数(LR1)」を減算することにより、「分割位置よりも後のルビの文字数(LR2)」を算出する。ここで、算出された「分割位置よりも後のルビの文字数(LR2)」を設定する(ステップS1306)。   Then, by subtracting the integer “number of ruby characters before the dividing position (LR1)” calculated in step S1305 from the number of ruby characters acquired in step S1303, the “number of ruby characters after the dividing position” (LR2) "is calculated. Here, the calculated “number of ruby characters after the dividing position (LR2)” is set (step S1306).

次に、ステップS1306で設定された「分割位置より前のルビ文字数(LG1)」を、ルビ属性情報1506の「ルビ文字の分割位置」の項目に記憶する(ステップS1307)。
図16は、親文字とルビの分割位置を説明するための図である。
図16に示す通り、「野鳥を観察し楽しむという」が親文字であり、この親文字(文字列)に対して「バードウォッチング」がグループルビとして出力される。
Next, the “number of ruby characters before the dividing position (LG1)” set in step S1306 is stored in the “ruby character dividing position” item of the ruby attribute information 1506 (step S1307).
FIG. 16 is a diagram for explaining the division positions of the parent character and ruby.
As shown in FIG. 16, “to observe and enjoy a bird” is a parent character, and “bird watching” is output as a group ruby for this parent character (character string).

「野鳥」と「を観察し楽しむという」の間で分割される場合、親文字が2文字と10文字に分割される。これに比例して、グループルビも2文字と7文字に分割される。   When divided between “wild bird” and “to observe and enjoy”, the parent character is divided into two characters and ten characters. In proportion to this, the group ruby is also divided into 2 characters and 7 characters.

ここでは、2文字に分割された親文字をLG1、10文字に分割された親文字をLG2として表し、2文字に分割されたグループルビをLR1、7文字に分割されたグループルビをLR2として表している。 Here, the parent character divided into two characters is represented as LG1, the parent character divided into ten characters is represented as LG2, the group ruby divided into two characters is represented as LR1, and the group ruby divided into seven characters is represented as LR2. ing.

<図14の説明>
図14は、図3のステップS304の詳細処理を示すフローチャートである。
<Description of FIG. 14>
FIG. 14 is a flowchart showing the detailed processing of step S304 of FIG.

図14に示すステップS1401からステップS1407までの処理は、情報処理装置100の外部メモリ211に記憶されたプログラムをCPU201が実行することにより実現される。   The processing from step S1401 to step S1407 shown in FIG. 14 is realized by the CPU 201 executing a program stored in the external memory 211 of the information processing apparatus 100.

情報処理装置100のCPU201は、まず、ルビ属性情報1506の「ルビ種類」がグループルビであり、かつ「ルビ分割フラグ」が「1」であるか否かを判定する(ステップS1401)。   The CPU 201 of the information processing apparatus 100 first determines whether the “ruby type” of the ruby attribute information 1506 is group ruby and the “ruby division flag” is “1” (step S1401).

そして、「ルビ種類」がグループルビであり、かつ「ルビ分割フラグ」が「1」であると判定された場合は(ステップS1401:YES)、図13に示す処理で決定されたルビ文字の分割位置でルビを分割する。このように、親文字数の分割された文字数の割合でルビ文字を分割する(ステップS1406)。
そして、分割されたルビをグループルビとして組版して処理をステップS1403に移行する。
If it is determined that the “ruby type” is group ruby and the “ruby split flag” is “1” (step S1401: YES), the ruby character split determined by the process shown in FIG. Divide ruby by position. In this way, the ruby character is divided at the ratio of the number of characters divided from the number of parent characters (step S1406).
Then, the divided ruby is formatted as a group ruby, and the process proceeds to step S1403.

また、ステップS1401において、「ルビ種類」がグループルビではない、又は「ルビ分割フラグ」が「0」であると判定された場合は(ステップS1401:NO)、「ルビ種類」が熟語ルビであり、かつ「ルビ分割フラグ」が「1」であるか否かを判定する(ステップS1402)。そして、「ルビ種類」が熟語ルビであり、かつ「ルビ分割フラグ」が「1」であると判定された場合は(ステップS1402:YES)、決定された分割位置により分割された親文字に従ってルビ文字を分割する(ステップS1404)。   If it is determined in step S1401 that the “ruby type” is not group ruby or the “ruby division flag” is “0” (step S1401: NO), the “ruby type” is an idiom ruby. In addition, it is determined whether or not the “ruby division flag” is “1” (step S1402). If it is determined that the “ruby type” is an idiom ruby and the “ruby division flag” is “1” (step S1402: YES), the ruby is divided according to the parent character divided at the determined division position. The character is divided (step S1404).

複数も文字から構成される文字列に対して熟語ルビが設定されている場合、モノルビのように出力するために、各文字に対応するルビが関連付けて記憶されている。したがって、ステップS1404では、分割される親文字の位置で、ルビも分割されることとなる。
このように、分割されたルビを組版して処理をステップS1403に移行する。
ステップS1403では、ここで分割され組版されたデータを設定する。
In the case where idiom ruby is set for a character string composed of a plurality of characters, ruby corresponding to each character is stored in association with each other in order to output like mono ruby. Therefore, in step S1404, ruby is also divided at the position of the parent character to be divided.
In this way, the divided ruby is formatted and the process proceeds to step S1403.
In step S1403, the data divided and typeset here is set.

<図18の説明>
図18は、親文字に対して複数のルビが付与された場合の親文字と複数のルビの分割(改行)の例を説明するための図である。
<Description of FIG. 18>
FIG. 18 is a diagram for explaining an example of division (line feed) of a parent character and a plurality of ruby when a plurality of ruby is given to the parent character.

図18の1801は、右方向に文章を記載した親文字「○○○」に対して上ルビのグループルビ「▲▲▲▲▲▲」が設定され、一部親文字が重複した「○○○」に対して下ルビのグループルビ「▽▽▽▽▽▽」が設定されている例を示している。   In FIG. 18, 1801 indicates that the upper ruby group ruby “▲▲▲▲▲▲” is set with respect to the parent character “XX” with the sentence written in the right direction, and a part of the parent character overlaps “XX”. In this example, the lower ruby group ruby “▽▽▽▽▽▽” is set.

ここでの例の場合、これら2つの親文字を処理対象の文字列「○○○○○○」とし、1801で示す箇所が行の切れ目であることを示している。上ルビに付されたルビはグループであるため、上ルビのグループルビが設定された親文字と、上ルビのグループルビが設定されていない文字との間に分割候補位置を点線で示している。下ルビもグループルビなのでこれと同様に、下ルビのグループルビが設定された親文字と、下ルビのグループルビが設定されていない文字との間に分割候補位置を点線で示している。   In the case of the example here, these two parent characters are the character strings to be processed “XXXXXX”, and the portion indicated by 1801 indicates a line break. Since the ruby attached to the upper ruby is a group, the division candidate position is indicated by a dotted line between the parent character for which the upper ruby group ruby is set and the character for which the upper ruby group ruby is not set. . Since the lower ruby is also a group ruby, similarly, the division candidate positions are indicated by dotted lines between the parent character for which the lower ruby group ruby is set and the character for which the lower ruby group ruby is not set.

また、1801の行の切れ目の場合、行の切れ目から行頭に向かって最も近い分割候補位置を分割位置(改行位置)として決定している。分割位置(改行位置)は、実線で示している。また、実線で示される分割位置で改行された場合、1801に示すように、親文字「○○○」に対して、上ルビのグループルビ「▲▲▲▲▲▲」が設定され、下ルビのグループルビ「▽▽」が設定されている。また、改行された部分は、親文字「○○」に対して分割された下ルビの「▽▽▽▽」が設定され、これらの設定の結果が出力される。   In the case of a line break 1801, the closest division candidate position from the line break toward the beginning of the line is determined as a division position (line feed position). The division position (line feed position) is indicated by a solid line. Also, when a line feed is made at the dividing position indicated by the solid line, as shown in 1801, the upper ruby group ruby “▲▲▲▲▲▲” is set for the parent character “XXX”, and the lower ruby is set. The group ruby “▽▽” is set. In addition, in the line-breaked portion, the lower ruby “▽▽▽▽” divided with respect to the parent character “◯◯” is set, and the result of these settings is output.

また、実線で示す分割位置で改行された場合、行の切れ目と分割位置の間に1文字分のスペースが出来てしまうため、このような場合は、ここにスペース(空白)のコードを入れるようにしてもよい。   In addition, if a line break is made at the dividing position indicated by the solid line, a space for one character is created between the line break and the dividing position. In such a case, a space (blank) code should be inserted here. It may be.

このように、分割された親文字の文字数の割合に比例して、分割するルビの文字数を決定し分割する。   Thus, the number of ruby characters to be divided is determined and divided in proportion to the ratio of the number of divided parent characters.

次に、図18の1802は、右方向に文章を記載した親文字「○○○」に対して、上ルビにグループルビ「▲▲▲▲▲▲」が設定され、一部親文字が重複した「○○○○」下ルビにモノルビ「▽▽▽▽▽▽▽▽▽」が設定されている例を示している。   Next, in 1802 of FIG. 18, the group ruby “▲▲▲▲▲▲” is set in the upper ruby for the parent character “XXX” with the sentence written in the right direction, and some of the parent characters overlap. In this example, mono-ruby “▽▽▽▽▽▽▽▽▽” is set in the lower ruby “XXX”.

ここでの例の場合、これら2つの親文字を処理対象の文字列「○○○○○○」とし、1802で示す箇所が行の切れ目であることを示している。上ルビに付されたルビはグループであるため、上ルビのグループルビが設定された親文字と、上ルビのグループルビが設定されていない文字との間に分割候補位置を点線で示している。下ルビはモノルビであるため、モノルビが付されている親文字(文字列)内の各文字間と、ルビが設定された親文字とルビが設定されていない親文字との間と、に分割候補位置を点線で示している。   In the case of the example here, these two parent characters are set as the character string to be processed “XXXXX”, and the portion indicated by 1802 indicates a line break. Since the ruby attached to the upper ruby is a group, the division candidate position is indicated by a dotted line between the parent character for which the upper ruby group ruby is set and the character for which the upper ruby group ruby is not set. . Lower ruby is mono ruby, so it is divided between each character in the parent character (character string) with mono ruby and between the parent character with ruby set and the parent character without ruby set Candidate positions are indicated by dotted lines.

また、1802の行の切れ目の場合、行の切れ目と分割候補位置とが同じ位置にあるため、行の切れ目を分割位置(改行位置)として決定している。分割位置(改行位置)は、実線で示している。また、実線で示される分割位置で改行された場合、1802に示すように、親文字「○○○」(親文字の先頭3文字)に対して、上ルビのグループルビ「▲▲▲▲▲▲」が設定され、親文字「○○○」(親文字の先頭文字の2文字目から4文字目までの文字)に対して、下ルビのグループルビ「▽▽▽▽▽▽▽」が設定されている。また、改行された部分は、親文字「○」に対して分割された下ルビの「▽▽」が設定され、これらの設定の結果が出力されている。   In the case of the line break 1802, the line break and the division candidate position are at the same position, so the line break is determined as the division position (line feed position). The division position (line feed position) is indicated by a solid line. Also, when a line feed is made at the dividing position indicated by the solid line, as shown in 1802, the group ruby “▲▲▲▲▲” of the upper ruby is compared to the parent character “XXX” (the first three characters of the parent character). ▲ ”is set, and the group ruby“ ▽▽▽▽▽▽▽ ”of lower ruby is added to the parent character“ XXX ”(characters from the second character to the fourth character of the first character of the parent character). Is set. In addition, in the line-breaked portion, the lower ruby “▽▽” divided with respect to the parent character “◯” is set, and the result of these settings is output.

このように、処理対象の文字列の中にモノルビがあり、行の切れ目にモノルビが付されている場合は、1802に示すように親文字が行の切れ目で分割される。   As described above, when there is mono-ruby in the character string to be processed and the mono-ruby is attached to the line break, the parent character is divided at the line break as indicated by 1802.

ルビの分割位置は、親文字が分割される文字間の各文字にモノルビとして設定されたルビの間となる。   The dividing position of ruby is between ruby set as mono ruby for each character between characters into which the parent character is divided.

<図19の説明>
図19は、親文字に対して複数のルビが付与された場合の親文字と複数のルビの分割(改行)の例を説明するための図である。
<Description of FIG. 19>
FIG. 19 is a diagram for explaining an example of division (line feed) of a parent character and a plurality of ruby when a plurality of ruby is given to the parent character.

次に、図19の1901は、右方向に文章を記載した親文字「○○○」に対して、上ルビにグループルビ「▲▲▲▲▲▲」が設定され、一部親文字が重複した「○○○○」下ルビに熟語ルビ「▽▽▽▽▽▽▽▽▽」が設定されている例を示している。   Next, in 1901 of FIG. 19, the group ruby “▲▲▲▲▲▲” is set in the upper ruby for the parent character “XXX” with the sentence written in the right direction, and some of the parent characters overlap. In this example, the jukugo-ruby “▽▽▽▽▽▽▽▽▽” is set in the lower ruby “○○○○”.

ここでの例の場合、これら2つの親文字を処理対象の文字列「○○○○○○」とし、1901で示す箇所が行の切れ目であることを示している。上ルビに付されたルビはグループルビであるため、上ルビのグループルビが設定された親文字と、上ルビのグループルビが設定されていない文字との間に分割候補位置を点線で示している。   In the case of the example here, these two parent characters are set as the character string to be processed “XXXXX”, and the part indicated by 1901 indicates a line break. Since the ruby attached to the upper ruby is a group ruby, the division candidate position is indicated by a dotted line between the parent character with the upper ruby group ruby and the character without the upper ruby group ruby. Yes.

また、下ルビは熟語ルビであるため、熟語ルビが付されている親文字(文字列)内で熟語ルビとして分割可能な箇所(設定されている)を点線で示している。この点線の箇所(位置)を分割候補位置として示している。   Further, since the lower ruby is the idiom ruby, the portion (set) that can be divided as the idiom ruby within the parent character (character string) to which the idiom ruby is attached is indicated by a dotted line. This dotted line location (position) is shown as a division candidate position.

また、1901の行の切れ目の場合、行の切れ目と分割候補位置とが同じ位置にあるため、行の切れ目を分割位置(改行位置)として決定している。分割位置(改行位置)は、実線で示している。   In the case of a 1901 line break, since the line break and the division candidate position are at the same position, the line break is determined as the division position (line feed position). The division position (line feed position) is indicated by a solid line.

また、実線で示される分割位置で改行された場合、1901に示すように、親文字「○○」(親文字の先頭2文字)に対して、上ルビのグループルビ「▲▲▲▲」が設定され、親文字「○」に対して下ルビの熟語ルビ「▽▽」が設定されている。また、親文字「○○○」(親文字の先頭文字の3文字目から5文字目までの文字)に対して、下ルビのグループルビ「▽▽▽▽▽▽▽」が設定されている。また、改行された親文字「○」(親文字の先頭文字の3文字目)に対して、上ルビ「▲▲」が設定されている。このような処理がなされ出力される。   In addition, when a line feed is made at the dividing position indicated by the solid line, as shown in 1901, the group ruby “▲▲▲▲” of the upper ruby is added to the parent character “OO” (the first two characters of the parent character). The lower ruby idiom “ビ” is set for the parent character “O”. The lower ruby group ruby “▽▽▽▽▽▽▽” is set for the parent character “XXX” (the third to fifth characters of the first character of the parent character). . The upper ruby “▲▲” is set for the parent character “◯” (third character of the first character of the parent character) after the line feed. Such processing is performed and output.

このように、処理対象の文字列の中にグループルビと熟語ルビがある場合で、行の切れ目に熟語ルビが付されている場合、行の切れ目が熟語ルビとして分割可能な位置であれば、1901に示すように、その行の切れ目で親文字が分割される。   In this way, when there are group ruby and idiom ruby in the character string to be processed, and idiom ruby is attached to the line break, if the line break is a position that can be divided as idiom ruby, As indicated by 1901, the parent character is divided at the line break.

このときのルビの分割位置について説明する。グループルビの文字列の途中で分割される場合、分割される親文字の文字数の割合に比例して、分割するルビの文字数を決定し分割する。   The ruby division position at this time will be described. When dividing in the middle of the group ruby character string, the number of ruby characters to be divided is determined and divided in proportion to the ratio of the number of characters of the parent character to be divided.

また、熟語ルビの文字列の途中で分割される場合のルビの分割位置は、親文字が分割される文字間の各文字に熟語ルビとして設定されたルビの間となる。   Further, the division position of the ruby when divided in the middle of the character string of the idiom ruby is between the ruby set as the idiom ruby for each character between the characters into which the parent character is divided.

次に、図19の1902は、右方向に文章を記載した親文字「○○○」に対して、上ルビに熟語ルビ「▲▲▲▲▲▲」が設定され、一部親文字が重複した「○○○○」の下ルビにモノルビ「▽▽▽▽▽▽▽▽▽」が設定されている例を示している。   Next, in 1902 of FIG. 19, the idiom Ruby “▲▲▲▲▲▲” is set in the upper ruby for the parent character “XXX” with the sentence written in the right direction, and some of the parent characters overlap. In this example, mono-ruby “▽▽▽▽▽▽▽▽▽” is set in the lower ruby of “○○○○”.

ここでの例の場合、これら2つの親文字を処理対象の文字列「○○○○○○」とし、1902で示す箇所が行の切れ目であることを示している。   In the case of the example here, these two parent characters are the character string “XXXXX” to be processed, and the portion indicated by 1902 indicates a line break.

上ルビに付されたルビは熟語ルビであるため、熟語ルビが付されている親文字(文字列)内で熟語ルビとして分割可能な箇所(設定されている)を点線で示している。この点線の箇所(位置)を分割候補位置として示している。分割候補位置を点線で示している。   Since the ruby attached to the upper ruby is the idiom ruby, the portion (set) that can be divided as the idiom ruby within the parent character (character string) to which the idiom ruby is attached is indicated by a dotted line. This dotted line location (position) is shown as a division candidate position. The division candidate positions are indicated by dotted lines.

また、下ルビはモノルビであるため、モノルビが付されている親文字(文字列)内の各文字間と、ルビが設定された親文字とルビが設定されていない親文字との間と、に分割候補位置を点線で示している。   Also, since the lower ruby is mono ruby, between each character in the parent character (character string) with mono ruby, between the parent character with ruby set and the parent character without ruby set, The division candidate positions are indicated by dotted lines.

また、1902の行の切れ目の場合、行の切れ目と分割候補位置とが同じ位置にあるため、行の切れ目を分割位置(改行位置)として決定している。分割位置(改行位置)は、実線で示している。   In the case of the line break 1902, the line break and the division candidate position are at the same position, so the line break is determined as the division position (line feed position). The division position (line feed position) is indicated by a solid line.

また、実線で示される分割位置で改行された場合、1902に示すように、親文字「○○」(親文字の先頭2文字)に対して、上ルビのグループルビ「▲▲▲▲」が設定され、親文字「○」(親文字の先頭文字の2文字目の文字)に対して下ルビの熟語ルビ「▽▽」が設定されている。また、親文字「○○○」(親文字の先頭文字の3文字目から5文字目までの文字)に対して、下ルビのグループルビ「▽▽▽▽▽▽▽」が設定されている。また、改行された親文字「○」(親文字の先頭文字の3文字目の文字)に対して、上ルビ「▲▲」が設定されている。このような処理がなされ出力される。   In addition, when a line feed is made at the division position indicated by the solid line, as shown in 1902, the upper ruby group ruby “▲▲▲▲” is displayed for the parent character “OO” (the first two characters of the parent character). The lower ruby idiom “▽▽” is set for the parent character “◯” (the second character of the first character of the parent character). The lower ruby group ruby “▽▽▽▽▽▽▽” is set for the parent character “XXX” (the third to fifth characters of the first character of the parent character). . Also, an upper ruby “▲▲” is set for the parent character “◯” (third character of the first character of the parent character) that has been broken. Such processing is performed and output.

このように、処理対象の文字列の中にモノルビがあり、行の切れ目にモノルビが付されている場合、1902に示すようにその行の切れ目で親文字が分割される。
ルビの分割位置は、親文字が分割される文字間の各文字にモノルビとして設定されたルビの間となる。
As described above, when there is mono-ruby in the character string to be processed and the mono-ruby is added to the line break, the parent character is divided at the line break as indicated by 1902.
The dividing position of ruby is between ruby set as mono ruby for each character between characters into which the parent character is divided.

以上説明したように、本実施の形態によれば、親文字に対して複数のルビが設定された文字列(親文字とルビ)の分割場所を判定することにより、簡易に見栄えの良い文書を出力させることができる。 As described above, according to this embodiment, it is possible to easily create a good-looking document by determining the division location of a character string (parent character and ruby) in which a plurality of ruby is set for the parent character. Can be output.

以上、本発明の一実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。 Although one embodiment of the present invention has been described in detail above, the present invention can take an embodiment as, for example, a system, an apparatus, a method, a program, or a storage medium. You may apply to the system comprised from an apparatus, and may apply to the apparatus which consists of one apparatus.

また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。 Another object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium. Needless to say, this can also be achieved by reading and executing the program code stored in.

この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the program code constitute the present invention.

プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。 As a storage medium for supplying the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (basic system or operating system) running on the computer based on the instruction of the program code. Needless to say, a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, after the program code read from the storage medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion board or function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

100 情報処理装置 200 情報処理装置 300 複合機 400 ネットワーク
DESCRIPTION OF SYMBOLS 100 Information processing apparatus 200 Information processing apparatus 300 Multifunction machine 400 Network

Claims (6)

文字枠に配置される文字列の一部として含まれる親文字列に設定された、第1のグループルビ、及び第2のグループルビを含むグループルビの出力制御を行う情報処理装置であって、
前記文字枠に関する情報を含む文字枠情報と、当該文字枠に配置される文字列であって、前記第1のグループルビが設定された第1の親文字列と、当該第1のグループルビが設定された第1の親文字列の一部に重複して前記第2のグループルビが設定された第2の親文字列とを、前記文字列の一部として含まれる親文字列として含み、当該親文字列内の親文字間が前記文字枠の端に配置される文字列を記憶する記憶手段と
前記記憶手段に記憶された文字枠情報、及び前記文字列に従って、前記記憶手段により記憶された文字列の一部としてまれる当該親文字列内の文字間が前記文字枠の端に配置されるかを判定する判定手段と、
前記第1の親文字列と前記第1のグループルビが設定されていない文字との間、及び、前記第2の親文字列と前記第2のグループルビが設定されていない文との間を、それぞれ改行候補位置として決定する候補位置決定手段と、
前記判定手段により前記文字枠の端に配置されると判定された前記親文字間の位置、前記候補位置決定手段により決定された改行候補位置との位置関係に従って、前記親文字列の改行位置を決定する改行位置決定手段と、
前記改行位置決定手段により決定された前記文字列の改行位置に従って、当該文字列に設定された前記第1のグループルビ又は前記第2のグループルビの改行位置を決定するグループルビ改行位置決定手段と、
前記改行位置決定手段により決定された改行位置で前記親文字を改行前記親文字列と、前記グループルビ改行位置決定手段により決定された改行位置で前記第1のグループルビ又は前記第2のグループルビが改行された前記グループルビとを出力する出力手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus that performs output control of a group ruby including a first group ruby and a second group ruby set in a parent character string included as a part of a character string arranged in a character frame,
Character frame information including information about the character frame, a character string arranged in the character frame, a first parent character string in which the first group ruby is set, and the first group ruby A second parent character string in which the second group ruby is set to overlap a part of the set first parent character string, and a parent character string included as a part of the character string, storage means between parent character in the parental character string is stored, a character string is arranged at the end of the character frame,
Character frame information stored in the storage means, and in accordance with the character string, located at the end between the parent character is the character frame in contains Murrell the parent strings as part of the stored character string by the storage means Determining means for determining whether to be performed;
The first between the parental character string and the first group ruby is not set characters, and, between the second parent string and the second character of the group ruby is not set , Candidate position determining means for determining each as a line feed candidate position ,
Wherein the position between the parent character is determined to be located at an end of the character frame by determining means in accordance with the positional relationship between the line feed candidate position determined by the candidate position determining means, line feed of the parent string A line feed position determining means for determining the position;
Accordance line breaks in the parent strings as determined by the line feed position determining means, group ruby line feed position determines the line break position of the set in the parent string first group ruby or said second group ruby A determination means;
Wherein the parent string newline the parental character at the determined line breaks by line feed position determining means, said first group ruby or the second at the determined line breaks by the group ruby line feed position determining means and output means for outputting said group ruby group ruby is line feed,
An information processing apparatus comprising:
前記改行位置決定手段は、前記候補位置決定手段により決定された改行候補位置の中から、前記判定手段により前記文字枠の端に配置されると判定された前記親文字の位置から最も近い改行候補位置を改行位置として決定することを特徴とする請求項に記載の情報処理装置。 The line feed position determining means is nearest line feed from the new line candidate position determined by the candidate position determining means, from a position between the parent character is determined to be located at an end of the character frame by the determination unit The information processing apparatus according to claim 1 , wherein the candidate position is determined as a line feed position. 前記グループルビ改行位置決定手段は、前記改行位置決定手段により決定された改行位置での改行により分割された文字数の割合に従って、前記親文字列に設定された前記第1のグループルビ又は前記第2のグループルビの改行位置を決定することを特徴とする請求項1又は2項に記載の情報処理装置。 The group ruby line feed position determining means in accordance with the proportion of the parent number divided by line breaks at line breaks determined by the line feed position determining means, said parent said character set in the column first group ruby or the first the information processing apparatus according to claim 1 or 2 wherein, characterized in that determining the line break position of the second group ruby. 前記改行位置決定手段により決定された改行位置と前記文字枠の端との間に空白のコードを入力する入力手段を更に備えることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。 According to any one of claims 1 to 3, further comprising an input means for inputting a space code between the end of the character frame as determined line breaks by the line feed position determining means Information processing device. 文字枠に配置される文字列の一部として含まれる親文字列に設定された、第1のグループルビ、及び第2のグループルビを含むグループルビの出力制御を行う情報処理装置であって、前記文字枠に関する情報を含む文字枠情報と、当該文字枠に配置される文字列であって、前記第1のグループルビが設定された第1の親文字列と、当該第1のグループルビが設定された第1の親文字列の一部に重複して前記第2のグループルビが設定された第2の親文字列とを、前記文字列の一部として含まれる親文字列として含み、当該親文字列内の親文字間が前記文字枠の端に配置される文字列を記憶する記憶手段を備えた情報処理装置における情報処理方法であって、
記情報処理装置の判定手段が、前記記憶手段に記憶された文字枠情報、及び前記文字列に従って、前記記憶手段により記憶された文字列の一部としてまれる当該親文字列内の文字間が前記文字枠の端に配置されるかを判定する判定工程と、
前記情報処理装置の候補位置決定手段が、前記第1の親文字列と前記第1のグループルビが設定されていない文字との間、及び、前記第2の親文字列と前記第2のグループルビが設定されていない文との間を、それぞれ改行候補位置として決定する候補位置決定工程と、
前記情報処理装置の改行位置決定手段が、前記判定工程により前記文字枠の端に配置されると判定された前記親文字間の位置、前記候補位置決定工程により決定された改行候補位置との位置関係に従って、前記親文字列の改行位置を決定する改行位置決定工程と、
前記情報処理装置のグループルビ改行位置決定手段が、前記改行位置決定工程により決定された前記文字列の改行位置に従って、当該文字列に設定された前記第1のグループルビ又は前記第2のグループルビの改行位置を決定するグループルビ改行位置決定工程と、
前記情報処理装置の出力手段が、前記改行位置決定工程により決定された改行位置で前記親文字を改行前記親文字列と、前記グループルビ改行位置決定工程により決定された改行位置で前記第1のグループルビ又は前記第2のグループルビが改行された前記グループルビとを出力する出力工程と、
を備えることを特徴とする情報処理方法。
An information processing apparatus that performs output control of a group ruby including a first group ruby and a second group ruby set in a parent character string included as a part of a character string arranged in a character frame, Character frame information including information about the character frame, a character string arranged in the character frame, a first parent character string in which the first group ruby is set, and the first group ruby A second parent character string in which the second group ruby is set to overlap a part of the set first parent character string, and a parent character string included as a part of the character string, an information processing method in an information processing apparatus between parent character is provided with a storage means for storing a character string to be placed at the end of the character frame in the parental character string,
Parent determination means before Symbol information processing apparatus, the character frame information stored in the storage means, and in accordance with the character string, as part of the stored character string by said memory means in the free Murrell the parent string A determination step of determining whether a space between characters is arranged at an end of the character frame;
Candidate position determining means of the information processing apparatus, the first between the parental character string and the first group ruby is not set characters, and the second parent string and the second group between the characters that ruby is not set, the candidate position determining step of determining a new line candidate position respectively,
Line feed position determining means of the information processing apparatus, the determination and the position between the parent character is determined to be located at an end of the character frame by the process, the new line candidate position determined by the candidate position determining step according to the position relationship, the line feed position determining step of determining the line breaks in the parent string,
Group ruby line feed position determining means of the information processing apparatus, the line feed position determined according to line breaks in the parent strings as determined by the process, the parent text which is set to said first group ruby or the second A group ruby line break position determining step for determining a line break position of the group ruby of
Output means of the information processing apparatus, wherein the parent string newline the parental character with a new line position determined by the line feed position determining step, the line endings determined by the group ruby line feed position determining step first an output step of one group ruby or said second group ruby outputs and said group ruby that a line break,
An information processing method comprising:
文字枠に配置される文字列の一部として含まれる親文字列に設定された、第1のグループルビ、及び第2のグループルビを含むグループルビの出力制御を行う情報処理装置であって、前記文字枠に関する情報を含む文字枠情報と、当該文字枠に配置される文字列であって、前記第1のグループルビが設定された第1の親文字列と、当該第1のグループルビが設定された第1の親文字列の一部に重複して前記第2のグループルビが設定された第2の親文字列とを、前記文字列の一部として含まれる親文字列として含み、当該親文字列内の親文字間が前記文字枠の端に配置される文字列を記憶する記憶手段を備えた情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
記記憶手段に記憶された文字枠情報、及び前記文字列に従って、前記記憶手段により記憶された文字列の一部としてまれる当該親文字列内の文字間が前記文字枠の端に配置されるかを判定する判定手段と、
前記第1の親文字列と前記第1のグループルビが設定されていない文字との間、及び、前記第2の親文字列と前記第2のグループルビが設定されていない文との間を、それぞれ改行候補位置として決定する候補位置決定手段と、
前記判定手段により前記文字枠の端に配置されると判定された前記親文字間の位置、前記候補位置決定手段により決定された改行候補位置との位置関係に従って、前記親文字列の改行位置を決定する改行位置決定手段と、
前記改行位置決定手段により決定された前記文字列の改行位置に従って、当該文字列に設定された前記第1のグループルビ又は前記第2のグループルビの改行位置を決定するグループルビ改行位置決定手段と、
前記改行位置決定手段により決定された改行位置で前記親文字を改行前記親文字列と、前記グループルビ改行位置決定手段により決定された改行位置で前記第1のグループルビ又は前記第2のグループルビが改行された前記グループルビとを出力する出力手段として機能させることを特徴とするプログラム。
An information processing apparatus that performs output control of a group ruby including a first group ruby and a second group ruby set in a parent character string included as a part of a character string arranged in a character frame, Character frame information including information about the character frame, a character string arranged in the character frame, a first parent character string in which the first group ruby is set, and the first group ruby A second parent character string in which the second group ruby is set to overlap a part of the set first parent character string, and a parent character string included as a part of the character string, a reading program executable by an information processing apparatus having a storage means between parent character in the parental character string is stored, a character string is arranged at the end of the character frame,
The information processing apparatus;
Character frame information stored before term memory unit, and in accordance with the character string, on the edge between the parent character is the character frame in contains Murrell the parent strings as part of the stored character string by the storage means Determining means for determining whether to be arranged;
The first between the parental character string and the first group ruby is not set characters, and, between the second parent string and the second character of the group ruby is not set , Candidate position determining means for determining each as a line feed candidate position ,
Wherein the position between the parent character is determined to be located at an end of the character frame by determining means in accordance with the positional relationship between the line feed candidate position determined by the candidate position determining means, line feed of the parent string A line feed position determining means for determining the position;
Accordance line breaks in the parent strings as determined by the line feed position determining means, group ruby line feed position determines the line break position of the set in the parent string first group ruby or said second group ruby A determination means;
Wherein the parent string newline the parental character at the determined line breaks by line feed position determining means, said first group ruby or the second at the determined line breaks by the group ruby line feed position determining means program for causing to function as an output means for outputting said group ruby group ruby is a newline.
JP2013230470A 2013-11-06 2013-11-06 Information processing apparatus, information processing method, and program Expired - Fee Related JP5747202B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013230470A JP5747202B2 (en) 2013-11-06 2013-11-06 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013230470A JP5747202B2 (en) 2013-11-06 2013-11-06 Information processing apparatus, information processing method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009181975A Division JP5407647B2 (en) 2009-08-04 2009-08-04 Information processing apparatus, information processing method, and program

Publications (3)

Publication Number Publication Date
JP2014041653A JP2014041653A (en) 2014-03-06
JP2014041653A5 JP2014041653A5 (en) 2014-04-17
JP5747202B2 true JP5747202B2 (en) 2015-07-08

Family

ID=50393784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013230470A Expired - Fee Related JP5747202B2 (en) 2013-11-06 2013-11-06 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP5747202B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166250A (en) * 1987-12-23 1989-06-30 Hitachi Ltd Document processing system
JPH0997252A (en) * 1995-09-28 1997-04-08 Ricoh Co Ltd Translated word output device
JPH11191101A (en) * 1997-12-25 1999-07-13 Dainippon Screen Mfg Co Ltd Composing method for sentence including agate
JP2007275335A (en) * 2006-04-07 2007-10-25 Ge Medical Systems Global Technology Co Llc Writing method of personal name and electronic equipment

Also Published As

Publication number Publication date
JP2014041653A (en) 2014-03-06

Similar Documents

Publication Publication Date Title
KR102382899B1 (en) Systems and methods of digital note taking
US9875220B2 (en) Panoptic visualization document printing
JP6360567B2 (en) Information processing apparatus and information processing method
JP2011186742A (en) Layout editing device and control method thereof and program
JP2011013866A (en) Device and method for controlling print, and program
US8780404B2 (en) Information processing apparatus, method for controlling same, and storage medium on which computer program has been recorded
KR101777521B1 (en) Method and Apparatus for generating font for changing font&#39;s style
JP2003308310A (en) Display method, display, display program, and recording medium recorded with display program
EP2711897B1 (en) Panoptic visualization document differencing
US8749834B2 (en) Information processing apparatus that perform margin reduction depending on the column group structure, method for controlling same, and storage medium on which computer program has been recorded
JP5407647B2 (en) Information processing apparatus, information processing method, and program
JP2016167148A (en) Information processing apparatus, information processing program, and recording medium
CN109445900B (en) Translation method and device for picture display
JP5747202B2 (en) Information processing apparatus, information processing method, and program
KR102010522B1 (en) Client terminal device for displaying the names of other users who are performing editing on the collaboration document and operating method thereof
JP6322086B2 (en) Display control device, display device, program, recording medium
JP4413952B2 (en) Method, apparatus, program, and program medium for display control
JP5779745B2 (en) Information processing apparatus, information processing method, and program
JP2008140158A (en) Document editing device and program
JP5528410B2 (en) Viewer device, server device, display control method, electronic comic editing method and program
JP4441966B2 (en) Handwritten character input device and recording medium recording program for realizing the same
JP2006072877A (en) Document editing apparatus, document editing method, document editing program, and its recording medium
JP7246795B1 (en) Information processing device, method, program, and system
US20180189251A1 (en) Automatic multi-lingual editing method for cartoon content
JP3029822B2 (en) Document processing apparatus, document processing method, and computer-readable recording medium recording program for causing computer to execute the method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150310

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150323

R150 Certificate of patent or registration of utility model

Ref document number: 5747202

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees