Files
odfstudio/cui/uiconfig/ui/paragalignpage.ui
T
László Németh e668dc84eb tdf#173389 cui offapi sw xmloff: add custom compound-based hyphenation
Add new paragraph justification option "Split compound words" for
custom compound-based "smart" hyphenation. Add compound-based "smart"
hyphenation support for Danish, Dutch, Esperanto, Estonian, German,
Norwegian, Swedish (and potentially, Icelandic, Finnish and
Latvian) languages by fixing Hunspell morphological analysis and the
associated lingucomponent code. (Previously compound-based "smart"
hyphenation was enabled only for Hungarian.)

With the new option it's possible to keep MSO/MS-DOCX interoperability,
also introducing a better hyphenation algorithm for several languages.

Details:

    * Add check box to Alignment in paragraph formatting dialog window;

    * Store properties in paragraph model:

      css::style::ParagraphProperties::ParaIsCompoundBased

    * Implement it by checking the new option in the previously
      added commit f9f694f5d9f39c5801bc5fec45867252c293bbcb;

    * Add ODF import/export (loext:compound-based);

    * Add ODF unit tests by the new tdf173389_smart_hyphenation_nl.odt
      and tdf173389_smart_hyphenation_hu.odt. Now use the previous
      tdf119908_smart_hyphenation_hu for disabled compound-based "smart"
      hyphenation, also the new tdf119908_smart_hyphenation_nl.odt.
      Note: the Dutch test document results better compound-based
      hyphenation in two positions.

    * Add Hunspell patch to fix Danish, Dutch, Esperanto, Estonian,
      German, Norwegian, Swedish (and future Icelandic, Latvian,
      Finnish) morphological analysis for compound word constituents;

    * hyphenimp.cxx hyphenate(): fix tokenization for consecutive
      pa: elements, like resulted in the fixed Hunspell dictionaries.

Follow-up to commit f9f694f5d9
"tdf#173389 sw: add compound-based “smart” hyphenation for readability".

Change-Id: I4414bd588646ecf6dc86b77642833ac9c7820a98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211341
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
2026-09-23 14:38:07 +02:00

859 lines
47 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<interface domain="cui">
<requires lib="gtk+" version="3.24"/>
<object class="GtkAdjustment" id="adjustmentPercent">
<property name="upper">1000</property>
<property name="value">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustmentPercent2">
<property name="upper">1000</property>
<property name="value">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustmentPercent3">
<property name="upper">1000</property>
<property name="value">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustmentPercent4">
<property name="lower">-100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustmentPercent5">
<property name="upper">500</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustmentPercent6">
<property name="lower">50</property>
<property name="upper">100</property>
<property name="value">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustmentPercent7">
<property name="lower">100</property>
<property name="upper">200</property>
<property name="value">100</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid" id="ParaAlignPage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="hexpand">True</property>
<property name="border-width">6</property>
<property name="row-spacing">12</property>
<property name="column-spacing">24</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="valign">start</property>
<property name="margin-top">24</property>
<property name="hexpand">True</property>
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">never</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkDrawingArea" id="drawingareaWN_EXAMPLE">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<child internal-child="accessible">
<object class="AtkObject" id="drawingareaWN_EXAMPLE-atkobject">
<property name="AtkObject::accessible-name" translatable="yes" context="paragalignpage|drawingareaWN_EXAMPLE-atkobject">Example</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<!-- n-columns=1 n-rows=4 -->
<object class="GtkGrid" id="maingrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row-spacing">12</property>
<child>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<!-- n-columns=1 n-rows=10 -->
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-top">6</property>
<property name="row-spacing">3</property>
<child>
<object class="GtkRadioButton" id="radioBTN_LEFTALIGN">
<property name="label" translatable="yes" context="paragalignpage|radioBTN_LEFTALIGN">Force _Left</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="active">True</property>
<property name="draw-indicator">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="radioBTN_LEFTALIGN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|radioBTN_LEFTALIGN">Aligns the paragraph to the left page margin.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radioBTN_RIGHTALIGN">
<property name="label" translatable="yes" context="paragalignpage|radioBTN_RIGHTALIGN">Force R_ight</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<property name="group">radioBTN_LEFTALIGN</property>
<child internal-child="accessible">
<object class="AtkObject" id="radioBTN_RIGHTALIGN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|radioBTN_RIGHTALIGN">Aligns the paragraph to the right page margin.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radioBTN_CENTERALIGN">
<property name="label" translatable="yes" context="paragalignpage|radioBTN_CENTERALIGN">_Center</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<property name="group">radioBTN_LEFTALIGN</property>
<child internal-child="accessible">
<object class="AtkObject" id="radioBTN_CENTERALIGN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|radioBTN_CENTERALIGN">Centers the contents of the paragraph on the page.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radioBTN_JUSTIFYALIGN">
<property name="label" translatable="yes" context="paragalignpage|radioBTN_JUSTIFYALIGN">_Justified</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<property name="group">radioBTN_LEFTALIGN</property>
<child internal-child="accessible">
<object class="AtkObject" id="radioBTN_JUSTIFYALIGN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|radioBTN_JUSTIFYALIGN">Aligns the paragraph to the left and to the right page margins.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkCB_EXPAND">
<property name="label" translatable="yes" context="paragalignpage|checkCB_EXPAND">_Expand single word</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="margin-start">22</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="checkCB_EXPAND-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|checkCB_EXPAND">If a justified paragraph ends with a single word, that word stretches to fill the line width.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkCB_SNAP">
<property name="label" translatable="yes" context="paragalignpage|checkCB_SNAP">_Snap to text grid (if active)</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="margin-start">22</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="checkCB_SNAP-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|checkCB_SNAP">Aligns the paragraph to a text grid.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">8</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkLabel" id="labelST_RIGHTALIGN_ASIAN">
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelST_RIGHTALIGN_ASIAN">Force R_ight/Bottom</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelST_LEFTALIGN_ASIAN">
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelST_LEFTALIGN_ASIAN">Force _Left/Top</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelST_VERTALIGN_SDR">
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelST_VERTALIGN_SDR">Vertical</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">9</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">18</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="labelLB_LASTLINE">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelLB_LASTLINE">_Last line:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">comboLB_LASTLINE</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="comboLB_LASTLINE">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item id="0" translatable="yes" context="paragalignpage|liststoreLB_LASTLINE">Start</item>
<item id="1" translatable="yes" context="paragalignpage|liststoreLB_LASTLINE">Start</item>
<item id="2" translatable="yes" context="paragalignpage|liststoreLB_LASTLINE">Centered</item>
<item id="3" translatable="yes" context="paragalignpage|liststoreLB_LASTLINE">Justified</item>
</items>
<child internal-child="accessible">
<object class="AtkObject" id="comboLB_LASTLINE-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|comboLB_LASTLINE">Specify the alignment for the last line in the paragraph.</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">6</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radioBTN_ENDALIGN">
<property name="label" translatable="yes" context="paragalignpage|radioBTN_ENDALIGN">E_nd</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<property name="group">radioBTN_LEFTALIGN</property>
<child internal-child="accessible">
<object class="AtkObject" id="radioBTN_ENDALIGN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|radioBTN_ENDALIGN">Aligns the paragraph to the end of the line in the reading direction.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radioBTN_STARTALIGN">
<property name="label" translatable="yes" context="paragalignpage|radioBTN_STARTALIGN">Sta_rt</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<property name="group">radioBTN_LEFTALIGN</property>
<child internal-child="accessible">
<object class="AtkObject" id="radioBTN_STARTALIGN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|radioBTN_STARTALIGN">Aligns the paragraph to the beginning of the line in the reading direction.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|label1">Options</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frameFL_VERTALIGN">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-top">6</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="labelFT_VERTALIGN">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelFT_VERTALIGN">_Alignment:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">comboLB_VERTALIGN</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="comboLB_VERTALIGN">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item id="0" translatable="yes" context="paragalignpage|liststoreLB_VERTALIGN">Automatic</item>
<item id="1" translatable="yes" context="paragalignpage|liststoreLB_VERTALIGN">Base line</item>
<item id="2" translatable="yes" context="paragalignpage|liststoreLB_VERTALIGN">Top</item>
<item id="3" translatable="yes" context="paragalignpage|liststoreLB_VERTALIGN">Middle</item>
<item id="4" translatable="yes" context="paragalignpage|liststoreLB_VERTALIGN">Bottom</item>
</items>
<child internal-child="accessible">
<object class="AtkObject" id="comboLB_VERTALIGN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|comboLB_VERTALIGN">Select alignment for oversized/undersized characters in the paragraph.</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="labelFL_VERTALIGN">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelFL_VERTALIGN">Text-to-text</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="framePROPERTIES">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<!-- n-columns=1 n-rows=2 -->
<object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox" id="box3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-top">6</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|label2">_Text direction:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">comboLB_TEXTDIRECTION</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="comboLB_TEXTDIRECTION">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child internal-child="accessible">
<object class="AtkObject" id="comboLB_TEXTDIRECTION-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|comboLB_TEXTDIRECTION">Specify the text direction for a paragraph that uses complex text layout (CTL).</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkCB_AUTOTEXTDIRECTION">
<property name="label" translatable="yes" context="paragalignpage|checkCB_AUTOTEXTDIRECTION">Automatically set direction</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="margin-start">22</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="checkCB_AUTOTEXTDIRECTION-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paragalignpage| extended_tip|checkCB_AUTOTEXTDIRECTION">Automatically adjust the writing direction of the paragraph based on its content.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="labelFL_PROPERTIES">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelFL_PROPERTIES">Properties</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frameJUSTIFICATION">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<!-- n-columns=4 n-rows=4 -->
<object class="GtkGrid" id="gridJustification">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-top">6</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="labelMinimum">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelMinimum">Minimum</property>
<property name="use-underline">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelDesired">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelDesired">Desired</property>
<property name="use-underline">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelMaximum">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelMaximum">Maximum</property>
<property name="use-underline">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">3</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelWordSpacing">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelWordSpacing">_Word spacing:</property>
<property name="use-underline">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spin_WORD_SPACING_MIN">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustmentPercent</property>
<child internal-child="accessible">
<object class="AtkObject" id="spin_WORD_SPACING_MIN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paralignpage|extended_tip|JUSTIFICATION-MIN">Adjusts the minimum word spacing. Enter a number between 0% (no word spacing) and 250% (two and a half times the width of the space character).</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spin_WORD_SPACING">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustmentPercent2</property>
<child internal-child="accessible">
<object class="AtkObject" id="spin_WORD_SPACING-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paralignpage|extended_tip|JUSTIFICATION">Adjusts the desired word spacing. Enter a number between 0% (no word spacing) and 250% (two and a half times the width of the space character).</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spin_WORD_SPACING_MAX">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustmentPercent3</property>
<child internal-child="accessible">
<object class="AtkObject" id="spin_WORD_SPACING_MAX-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paralignpage|extended_tip|JUSTIFICATION-MAX">Adjusts the maximum word spacing. Enter a number between 0% (no word spacing) and 250% (two and a half times the width of the space character).</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">3</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkParaComposer">
<property name="label" translatable="yes" context="paralignpage|checkParaComposer">Paragraph Composer</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="inconsistent">True</property>
<property name="draw-indicator">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="checkParaComposer-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="textflowpage|extended_tip|checkParaComposer">Select this check box, if you want to get evenly spaced words in the consecutive lines.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">4</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelLetterSpacing">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelLetterSpacing">_Letter spacing:</property>
<property name="use-underline">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spin_LETTER_SPACING_MIN">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustmentPercent4</property>
<child internal-child="accessible">
<object class="AtkObject" id="spin_LETTER_SPACING_MIN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paralignpage|extended_tip|LETTER-JUSTIFICATION-MIN">Adjusts the minimum letter spacing. Enter a number between -100% and 0% (original letter spacing).</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spin_LETTER_SPACING_MAX">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustmentPercent5</property>
<child internal-child="accessible">
<object class="AtkObject" id="spin_LETTER_SPACING_MAX-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paralignpage|extended_tip|LETTER-JUSTIFICATION-MAX">Adjusts the maximum letter spacing. Enter a number between 0% (original letter spacing) and 500% (letter spacing is five times the width of the space character).</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">3</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkCompoundBased">
<property name="label" translatable="yes" context="paralignpage|checkCompoundBased">Split compound words</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="inconsistent">True</property>
<property name="draw-indicator">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="checkCompoundBased-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="textflowpage|extended_tip|checkCompoundBased">Select this check box, if you want to prefer compound word splitting during justification.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">4</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelGlyphScaling">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelGlyphScaling">_Glyph scaling:</property>
<property name="use-underline">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spin_GLYPH_SCALING_MIN">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustmentPercent6</property>
<child internal-child="accessible">
<object class="AtkObject" id="spin_GLYPH_SCALING_MIN-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paralignpage|extended_tip|GLYPH-SCALING-MIN">Adjusts the minimum glyph scaling. Enter a number between 50% (ultra-condensed) and 100% (regular).</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spin_GLYPH_SCALING_MAX">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustmentPercent7</property>
<child internal-child="accessible">
<object class="AtkObject" id="spin_GLYPH_SCALING_MAX-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="paralignpage|extended_tip|GLYPH-SCALING-MMAX">Adjusts the maximum glyph scaling. Enter a number between 100% (regular) and 200% (ultra-expanded).</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">3</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="labelFL_JUSTIFICATION">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="paragalignpage|labelFL_JUSTIFICATION">Justification</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<object class="GtkSizeGroup" id="sizegroup1">
<widgets>
<widget name="labelFT_VERTALIGN"/>
<widget name="label2"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup2">
<widgets>
<widget name="comboLB_VERTALIGN"/>
<widget name="comboLB_TEXTDIRECTION"/>
</widgets>
</object>
</interface>