mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-04 10:19:33 +02:00
line spacing option
This commit is contained in:
parent
543f19d4a0
commit
0a90ed38cd
37 changed files with 68 additions and 28 deletions
|
@ -988,5 +988,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -996,5 +996,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -995,5 +995,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -1016,5 +1016,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -999,5 +999,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -1010,5 +1010,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -995,5 +995,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -988,5 +988,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -990,5 +990,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%"/>
|
||||||
|
<node name="percent" value="E.g.: 125%"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -995,5 +995,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -1016,5 +1016,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -990,5 +990,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -983,5 +983,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -995,5 +995,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -981,5 +981,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -995,5 +995,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -990,5 +990,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -990,5 +990,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -992,5 +992,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -995,5 +995,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="Например: 20px, 10pt, 0.8em, 1ex, 120%"/>
|
<node name="positiveLength" value="Например: 20px, 10pt, 0.8em, 1ex, 120%"/>
|
||||||
<node name="length" value="Например: -2px, 10pt, -0.8em, 1.1ex, -40%"/>
|
<node name="length" value="Например: -2px, 10pt, -0.8em, 1.1ex, -40%"/>
|
||||||
|
<node name="percent" value="Например: 125%"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -990,5 +990,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -990,5 +990,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -980,5 +980,6 @@
|
||||||
<node name="hint">
|
<node name="hint">
|
||||||
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
<node name="positiveLength" value="E.g.: 20px, 10pt, 0.8em, 1ex, 120%" toBeTranslated="true"/>
|
||||||
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
<node name="length" value="E.g.: -2px, 10pt, -0.8em, 1.1ex, -40%" toBeTranslated="true"/>
|
||||||
|
<node name="percent" value="E.g.: 125%" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -254,24 +254,6 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
||||||
textScreen.addOption(baseStyle.AutoHyphenationOption, "autoHyphenations");
|
textScreen.addOption(baseStyle.AutoHyphenationOption, "autoHyphenations");
|
||||||
|
|
||||||
final Screen moreStylesScreen = textScreen.createPreferenceScreen("more");
|
final Screen moreStylesScreen = textScreen.createPreferenceScreen("more");
|
||||||
|
|
||||||
/*
|
|
||||||
final ZLIntegerOption spacePercentOption = decoration.LineSpacePercentOption;
|
|
||||||
final int[] spacingValues = new int[17];
|
|
||||||
final String[] spacingKeys = new String[17];
|
|
||||||
spacingValues[0] = -1;
|
|
||||||
spacingKeys[0] = "unchanged";
|
|
||||||
for (int j = 1; j < spacingValues.length; ++j) {
|
|
||||||
final int val = 4 + j;
|
|
||||||
spacingValues[j] = 10 * val;
|
|
||||||
spacingKeys[j] = (char)(val / 10 + '0') + decimalSeparator + (char)(val % 10 + '0');
|
|
||||||
}
|
|
||||||
formatScreen.addPreference(new ZLIntegerChoicePreference(
|
|
||||||
this, textScreen.Resource, "lineSpacing",
|
|
||||||
spacePercentOption, spacingValues, spacingKeys
|
|
||||||
));
|
|
||||||
*/
|
|
||||||
|
|
||||||
for (ZLTextNGStyleDescription description : collection.getDescriptionList()) {
|
for (ZLTextNGStyleDescription description : collection.getDescriptionList()) {
|
||||||
final Screen ngScreen = moreStylesScreen.createPreferenceScreen(description.Name);
|
final Screen ngScreen = moreStylesScreen.createPreferenceScreen(description.Name);
|
||||||
ngScreen.addPreference(new FontPreference(
|
ngScreen.addPreference(new FontPreference(
|
||||||
|
@ -308,6 +290,11 @@ public class PreferenceActivity extends ZLPreferenceActivity {
|
||||||
description.AlignmentOption,
|
description.AlignmentOption,
|
||||||
new String[] { "inherit", "left", "right", "center", "justify" }
|
new String[] { "inherit", "left", "right", "center", "justify" }
|
||||||
));
|
));
|
||||||
|
ngScreen.addPreference(new StringPreference(
|
||||||
|
this, description.LineHeightOption,
|
||||||
|
StringPreference.Constraint.PERCENT,
|
||||||
|
textScreen.Resource, "lineSpacing"
|
||||||
|
));
|
||||||
ngScreen.addPreference(new StringPreference(
|
ngScreen.addPreference(new StringPreference(
|
||||||
this, description.MarginTopOption,
|
this, description.MarginTopOption,
|
||||||
StringPreference.Constraint.LENGTH,
|
StringPreference.Constraint.LENGTH,
|
||||||
|
|
|
@ -37,13 +37,17 @@ import org.geometerplus.zlibrary.ui.android.R;
|
||||||
public class StringPreference extends DialogPreference {
|
public class StringPreference extends DialogPreference {
|
||||||
public static class Constraint {
|
public static class Constraint {
|
||||||
public static final Constraint LENGTH = new Constraint(
|
public static final Constraint LENGTH = new Constraint(
|
||||||
"(-{0,1}([0-9]*\\.){0,1}[0-9]+(%|em|ex|px|pt)|)",
|
"-{0,1}([0-9]*\\.){0,1}[0-9]+(%|em|ex|px|pt)|",
|
||||||
"length"
|
"length"
|
||||||
);
|
);
|
||||||
public static final Constraint POSITIVE_LENGTH = new Constraint(
|
public static final Constraint POSITIVE_LENGTH = new Constraint(
|
||||||
"(([0-9]*\\.){0,1}[0-9]+(%|em|ex|px|pt)|)",
|
"([0-9]*\\.){0,1}[0-9]+(%|em|ex|px|pt)|",
|
||||||
"positiveLength"
|
"positiveLength"
|
||||||
);
|
);
|
||||||
|
public static final Constraint PERCENT = new Constraint(
|
||||||
|
"([1-9][0-9]{1,2}%)|",
|
||||||
|
"percent"
|
||||||
|
);
|
||||||
|
|
||||||
private final Pattern myPattern;
|
private final Pattern myPattern;
|
||||||
public final String HintKey;
|
public final String HintKey;
|
||||||
|
|
|
@ -35,6 +35,7 @@ public abstract class ZLTextDecoratedStyle extends ZLTextStyle {
|
||||||
private boolean myIsBold;
|
private boolean myIsBold;
|
||||||
private boolean myIsUnderline;
|
private boolean myIsUnderline;
|
||||||
private boolean myIsStrikeThrough;
|
private boolean myIsStrikeThrough;
|
||||||
|
private int myLineSpacePercent;
|
||||||
|
|
||||||
private boolean myIsNotCached = true;
|
private boolean myIsNotCached = true;
|
||||||
|
|
||||||
|
@ -60,6 +61,7 @@ public abstract class ZLTextDecoratedStyle extends ZLTextStyle {
|
||||||
myIsBold = isBoldInternal();
|
myIsBold = isBoldInternal();
|
||||||
myIsUnderline = isUnderlineInternal();
|
myIsUnderline = isUnderlineInternal();
|
||||||
myIsStrikeThrough = isStrikeThroughInternal();
|
myIsStrikeThrough = isStrikeThroughInternal();
|
||||||
|
myLineSpacePercent = getLineSpacePercentInternal();
|
||||||
|
|
||||||
myIsNotCached = false;
|
myIsNotCached = false;
|
||||||
}
|
}
|
||||||
|
@ -182,4 +184,13 @@ public abstract class ZLTextDecoratedStyle extends ZLTextStyle {
|
||||||
return myFirstLineIndent;
|
return myFirstLineIndent;
|
||||||
}
|
}
|
||||||
protected abstract int getFirstLineIndentInternal(ZLTextMetrics metrics, int fontSize);
|
protected abstract int getFirstLineIndentInternal(ZLTextMetrics metrics, int fontSize);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final int getLineSpacePercent() {
|
||||||
|
if (myIsNotCached) {
|
||||||
|
initCache();
|
||||||
|
}
|
||||||
|
return myLineSpacePercent;
|
||||||
|
}
|
||||||
|
protected abstract int getLineSpacePercentInternal();
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ public class ZLTextExplicitlyDecoratedStyle extends ZLTextDecoratedStyle impleme
|
||||||
return myEntry.getLength(LENGTH_RIGHT_INDENT, metrics, fontSize);
|
return myEntry.getLength(LENGTH_RIGHT_INDENT, metrics, fontSize);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public int getFirstLineIndentInternal(ZLTextMetrics metrics, int fontSize) {
|
protected int getFirstLineIndentInternal(ZLTextMetrics metrics, int fontSize) {
|
||||||
if (myEntry instanceof ZLTextCSSStyleEntry && !BaseStyle.UseCSSMarginsOption.getValue()) {
|
if (myEntry instanceof ZLTextCSSStyleEntry && !BaseStyle.UseCSSMarginsOption.getValue()) {
|
||||||
return Parent.getFirstLineIndent(metrics);
|
return Parent.getFirstLineIndent(metrics);
|
||||||
}
|
}
|
||||||
|
@ -168,7 +168,8 @@ public class ZLTextExplicitlyDecoratedStyle extends ZLTextDecoratedStyle impleme
|
||||||
}
|
}
|
||||||
return myEntry.getLength(LENGTH_FIRST_LINE_INDENT, metrics, fontSize);
|
return myEntry.getLength(LENGTH_FIRST_LINE_INDENT, metrics, fontSize);
|
||||||
}
|
}
|
||||||
public int getLineSpacePercent() {
|
@Override
|
||||||
|
protected int getLineSpacePercentInternal() {
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
return Parent.getLineSpacePercent();
|
return Parent.getLineSpacePercent();
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,20 +105,24 @@ public class ZLTextNGStyle extends ZLTextDecoratedStyle {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getLeftIndentInternal(ZLTextMetrics metrics, int fontSize) {
|
protected int getLeftIndentInternal(ZLTextMetrics metrics, int fontSize) {
|
||||||
return myDescription.getLeftIndent(metrics, Parent.getLeftIndent(metrics), fontSize);
|
return myDescription.getLeftIndent(metrics, Parent.getLeftIndent(metrics), fontSize);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public int getRightIndentInternal(ZLTextMetrics metrics, int fontSize) {
|
protected int getRightIndentInternal(ZLTextMetrics metrics, int fontSize) {
|
||||||
return myDescription.getRightIndent(metrics, Parent.getRightIndent(metrics), fontSize);
|
return myDescription.getRightIndent(metrics, Parent.getRightIndent(metrics), fontSize);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public int getFirstLineIndentInternal(ZLTextMetrics metrics, int fontSize) {
|
protected int getFirstLineIndentInternal(ZLTextMetrics metrics, int fontSize) {
|
||||||
return myDescription.getFirstLineIndent(metrics, Parent.getFirstLineIndent(metrics), fontSize);
|
return myDescription.getFirstLineIndent(metrics, Parent.getFirstLineIndent(metrics), fontSize);
|
||||||
}
|
}
|
||||||
public int getLineSpacePercent() {
|
@Override
|
||||||
// TODO: implement
|
protected int getLineSpacePercentInternal() {
|
||||||
return Parent.getLineSpacePercent();
|
final String lineHeight = myDescription.LineHeightOption.getValue();
|
||||||
|
if (!lineHeight.matches("[1-9][0-9]*%")) {
|
||||||
|
return Parent.getLineSpacePercent();
|
||||||
|
}
|
||||||
|
return Integer.valueOf(lineHeight.substring(0, lineHeight.length() - 1));
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected int getVerticalAlignInternal(ZLTextMetrics metrics, int fontSize) {
|
protected int getVerticalAlignInternal(ZLTextMetrics metrics, int fontSize) {
|
||||||
|
|
|
@ -42,6 +42,7 @@ public class ZLTextNGStyleDescription {
|
||||||
public final ZLStringOption TextIndentOption;
|
public final ZLStringOption TextIndentOption;
|
||||||
public final ZLStringOption AlignmentOption;
|
public final ZLStringOption AlignmentOption;
|
||||||
public final ZLStringOption VerticalAlignOption;
|
public final ZLStringOption VerticalAlignOption;
|
||||||
|
public final ZLStringOption LineHeightOption;
|
||||||
|
|
||||||
private static ZLStringOption createOption(String selector, String name, Map<String,String> valueMap) {
|
private static ZLStringOption createOption(String selector, String name, Map<String,String> valueMap) {
|
||||||
return new ZLStringOption("Style", selector + "::" + name, valueMap.get(name));
|
return new ZLStringOption("Style", selector + "::" + name, valueMap.get(name));
|
||||||
|
@ -63,6 +64,7 @@ public class ZLTextNGStyleDescription {
|
||||||
TextIndentOption = createOption(selector, "text-indent", valueMap);
|
TextIndentOption = createOption(selector, "text-indent", valueMap);
|
||||||
AlignmentOption = createOption(selector, "text-align", valueMap);
|
AlignmentOption = createOption(selector, "text-align", valueMap);
|
||||||
VerticalAlignOption = createOption(selector, "vertical-align", valueMap);
|
VerticalAlignOption = createOption(selector, "vertical-align", valueMap);
|
||||||
|
LineHeightOption = createOption(selector, "line-height", valueMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
int getFontSize(ZLTextMetrics metrics, int baseFontSize) {
|
int getFontSize(ZLTextMetrics metrics, int baseFontSize) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue