yomi property
FieldXE.yomi property
Gets or sets the yomi (first phonetic character for sorting indexes) for the index entry
@property
def yomi(self) -> str:
...
@yomi.setter
def yomi(self, value: str):
...
Examples
Shows how to sort INDEX field entries phonetically.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Create an INDEX field which will display an entry for each XE field found in the document.
# Each entry will display the XE field's "text" property value on the left side,
# and the number of the page that contains the XE field on the right.
# The INDEX entry will collect all XE fields with matching values in the "text" property
# into one entry as opposed to making an entry for each XE field.
index = builder.insert_field(aw.fields.FieldType.FIELD_INDEX, True).as_field_index()
# The INDEX table automatically sorts its entries by the values of their "text" properties in alphabetic order.
# Set the INDEX table to sort entries phonetically using Hiragana instead.
index.use_yomi = sort_entries_using_yomi
if sort_entries_using_yomi:
self.assertEqual(" INDEX \\y", index.get_field_code())
else:
self.assertEqual(" INDEX ", index.get_field_code())
# Insert 4 XE fields, which would show up as entries in the INDEX field's table of contents.
# The "text" property may contain a word's spelling in Kanji, whose pronunciation may be ambiguous,
# while the "Yomi" version of the word will spell exactly how it is pronounced using Hiragana.
# If we set our INDEX field to use Yomi, it will sort these entries
# by the value of their "yomi" properties, instead of their "text" values.
builder.insert_break(aw.BreakType.PAGE_BREAK)
index_entry = builder.insert_field(aw.fields.FieldType.FIELD_INDEX_ENTRY, True).as_field_xe()
index_entry.text = "愛子"
index_entry.yomi = "あ"
self.assertEqual(" XE 愛子 \\y あ", index_entry.get_field_code())
builder.insert_break(aw.BreakType.PAGE_BREAK)
index_entry = builder.insert_field(aw.fields.FieldType.FIELD_INDEX_ENTRY, True).as_field_xe()
index_entry.text = "明美"
index_entry.yomi = "あ"
builder.insert_break(aw.BreakType.PAGE_BREAK)
index_entry = builder.insert_field(aw.fields.FieldType.FIELD_INDEX_ENTRY, True).as_field_xe()
index_entry.text = "恵美"
index_entry.yomi = "え"
builder.insert_break(aw.BreakType.PAGE_BREAK)
index_entry = builder.insert_field(aw.fields.FieldType.FIELD_INDEX_ENTRY, True).as_field_xe()
index_entry.text = "愛美"
index_entry.yomi = "え"
doc.update_page_layout()
doc.update_fields()
doc.save(ARTIFACTS_DIR + "Field.field_index_yomi.docx")
See Also
- module aspose.words.fields
- class FieldXE