Implements the ODF 1.2 paragraph attribute style:writing-mode-automatic, and supporting runtime features. When set, this attribute allows programs to automatically recompute the paragraph writing mode when the contents of the paragraph have been edited. The ODF standard does not suggest any particular algorithm for automatically determining paragraph direction. This implementation uses the rules from Unicode UAX #9 3.3.1. Currently, LO will only automatically change the writing direction when new text is typed or deleted. Other known interesting cases are already tracked as separate enhancement requests. Change-Id: I49eecea36952588dc98f2a98ebce712cd2846c0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193547 Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> Tested-by: Jenkins
122 lines
12 KiB
XML
122 lines
12 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
||
<office:document xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" office:version="1.4" office:mimetype="application/vnd.oasis.opendocument.text">
|
||
<office:meta><meta:creation-date>2025-11-06T11:23:30.187236969</meta:creation-date><dc:date>2025-11-06T11:30:37.198630783</dc:date><meta:editing-duration>PT4M9S</meta:editing-duration><meta:editing-cycles>2</meta:editing-cycles><meta:generator>LibreOfficeDev/26.2.0.0.alpha0$Linux_X86_64 LibreOffice_project/cb898851676f98ce58e79d4ffd1c0081b0003335</meta:generator><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="1" meta:word-count="1" meta:character-count="2" meta:non-whitespace-character-count="2"/></office:meta>
|
||
<office:font-face-decls>
|
||
<style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||
<style:font-face style:name="Noto Sans Arabic" svg:font-family="'Noto Sans Arabic'" style:font-adornments="Regular" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||
<style:font-face style:name="Noto Sans1" svg:font-family="'Noto Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||
<style:font-face style:name="Noto Serif CJK SC" svg:font-family="'Noto Serif CJK SC'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||
</office:font-face-decls>
|
||
<office:styles>
|
||
<style:default-style style:family="graphic">
|
||
<style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:writing-mode="lr-tb" style:flow-with-text="false"/>
|
||
<style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" loext:tab-stop-distance="0cm" style:font-independent-line-spacing="false">
|
||
<style:tab-stops/>
|
||
</style:paragraph-properties>
|
||
<style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="en" fo:country="CA" style:letter-kerning="true" style:font-name-asian="Noto Serif CJK SC" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Noto Sans1" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/>
|
||
</style:default-style>
|
||
<style:default-style style:family="paragraph">
|
||
<style:paragraph-properties fo:orphans="2" fo:widows="2" fo:hyphenation-ladder-count="no-limit" fo:hyphenation-keep="auto" loext:hyphenation-keep-type="column" loext:hyphenation-keep-line="false" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/>
|
||
<style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="en" fo:country="CA" style:letter-kerning="true" style:font-name-asian="Noto Serif CJK SC" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Noto Sans1" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" loext:hyphenation-no-caps="false" loext:hyphenation-no-last-word="false" loext:hyphenation-word-char-count="5" loext:hyphenation-zone="no-limit"/>
|
||
</style:default-style>
|
||
<style:default-style style:family="table">
|
||
<style:table-properties table:border-model="collapsing"/>
|
||
</style:default-style>
|
||
<style:default-style style:family="table-row">
|
||
<style:table-row-properties fo:keep-together="auto"/>
|
||
</style:default-style>
|
||
<style:style style:name="Standard" style:family="paragraph" style:class="text">
|
||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" style:writing-mode-automatic="true"/>
|
||
<style:text-properties style:font-name-complex="Noto Sans Arabic" style:font-family-complex="'Noto Sans Arabic'" style:font-style-name-complex="Regular" style:font-family-generic-complex="swiss" style:font-pitch-complex="variable" style:language-complex="ar" style:country-complex="EG"/>
|
||
</style:style>
|
||
<text:outline-style style:name="Outline">
|
||
<text:outline-level-style text:level="1" loext:num-list-format="%1%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="2" loext:num-list-format="%2%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="3" loext:num-list-format="%3%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="4" loext:num-list-format="%4%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="5" loext:num-list-format="%5%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="6" loext:num-list-format="%6%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="7" loext:num-list-format="%7%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="8" loext:num-list-format="%8%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="9" loext:num-list-format="%9%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
<text:outline-level-style text:level="10" loext:num-list-format="%10%" style:num-format="">
|
||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||
<style:list-level-label-alignment text:label-followed-by="listtab"/>
|
||
</style:list-level-properties>
|
||
</text:outline-level-style>
|
||
</text:outline-style>
|
||
<text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
|
||
<text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/>
|
||
<text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/>
|
||
</office:styles>
|
||
<office:automatic-styles>
|
||
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
|
||
<style:paragraph-properties style:writing-mode="rl-tb"/>
|
||
<style:text-properties style:language-complex="ar" style:country-complex="EG"/>
|
||
</style:style>
|
||
<style:style style:name="T1" style:family="text">
|
||
<style:text-properties fo:language="en" fo:country="US"/>
|
||
</style:style>
|
||
<style:page-layout style:name="pm1">
|
||
<style:page-layout-properties fo:page-width="21.59cm" fo:page-height="27.94cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" style:layout-grid-mode="none" style:layout-grid-ruby-below="false" style:layout-grid-print="false" style:layout-grid-display="false" style:footnote-max-height="0cm" loext:margin-gutter="0cm">
|
||
<style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
|
||
</style:page-layout-properties>
|
||
<style:header-style/>
|
||
<style:footer-style/>
|
||
</style:page-layout>
|
||
<style:style style:name="dp1" style:family="drawing-page">
|
||
<style:drawing-page-properties draw:background-size="full"/>
|
||
</style:style>
|
||
</office:automatic-styles>
|
||
<office:master-styles>
|
||
<style:master-page style:name="Standard" style:page-layout-name="pm1" draw:style-name="dp1"/>
|
||
</office:master-styles>
|
||
<office:body>
|
||
<office:text>
|
||
<text:sequence-decls>
|
||
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
|
||
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
|
||
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
|
||
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
||
<text:sequence-decl text:display-outline-level="0" text:name="Figure"/>
|
||
</text:sequence-decls>
|
||
<text:p text:style-name="P1">ا<text:span text:style-name="T1">a</text:span></text:p>
|
||
</office:text>
|
||
</office:body>
|
||
</office:document> |