Dekel's RTL numbers patch, fix for crash with free fonts and a few finnish locale improvements

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/lyx-1_1_5@1098 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2000-10-10 17:04:50 +00:00
parent b966f1b34b
commit 53c0882892
12 changed files with 245 additions and 110 deletions

View File

@ -1,3 +1,24 @@
2000-10-10 Dekel Tsur <dekelts@tau.ac.il>
* src/lyx_gui.C (create_forms): Fix crash with locales.
2000-10-09 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* lib/bind/fi_menus.bind: update from pauli.virtanen@saunalahti.fi.
2000-10-06 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* src/spellchecker.C: make sure we only include strings.h when
_AIX is defined.
2000-10-05 Dekel Tsur <dekelts@tau.ac.il>
* buffer.C
* bufferview_funcs.[Ch]
* lyxfont.[Ch]
* text.C
* text2.C: Add support for numbers in RTL text.
2000-10-04 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr> 2000-10-04 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* src/mathed/math_parser.C (LexInitCodes): set lexcode of "@" to * src/mathed/math_parser.C (LexInitCodes): set lexcode of "@" to

View File

@ -10,6 +10,8 @@
# Adapted to the finnish internationalization December 22 1999 # Adapted to the finnish internationalization December 22 1999
# by pauli.virtanen@saunalahti.fi # by pauli.virtanen@saunalahti.fi
# #
# Last updated: 6 Oct 2000
#
# Key bindings for menus, both invisible and visible. # Key bindings for menus, both invisible and visible.
@ -19,11 +21,13 @@
\bind "F10 t" "menu-open Tiedosto" \bind "F10 t" "menu-open Tiedosto"
\bind "F10 m" "menu-open Muokkaa" \bind "F10 m" "menu-open Muokkaa"
\bind "F10 s" "menu-open Sisällys"
\bind "F10 v" "menu-open Viitteet"
\bind "F10 u" "menu-open Muotoile" \bind "F10 u" "menu-open Muotoile"
\bind "F10 l" "menu-open Lisää" \bind "F10 l" "menu-open Lisää"
\bind "F10 e" "menu-open Matematiikka" \bind "F10 e" "menu-open Matem."
\bind "F10 a" "menu-open Asetukset" \bind "F10 a" "menu-open Asetukset"
\bind "F10 k" "menu-open Asiakirjat" \bind "F10 j" "menu-open Asiakirjat"
\bind "F10 o" "menu-open Ohje" \bind "F10 o" "menu-open Ohje"
@ -55,7 +59,7 @@
\bind "M-t e h" "buffer-export html" \bind "M-t e h" "buffer-export html"
\bind "M-t e o" "buffer-export custom" \bind "M-t e o" "buffer-export custom"
\bind "M-t p" "lyx-quit" \bind "M-t p" "lyx-quit"
\bind "M-t space" "menu-open File" \bind "M-t space" "menu-open Tiedosto"
# #
# Edit menu # Edit menu
@ -73,11 +77,18 @@
\bind "M-m o" "spellchecker" \bind "M-m o" "spellchecker"
\bind "M-m x" "buffer-chktex" \bind "M-m x" "buffer-chktex"
\bind "M-m s" "toc-view" \bind "M-m y" "toc-view"
\bind "M-m n" "latex-view-log" \bind "M-m n" "latex-view-log"
\bind "M-m space" "menu-open Edit" \bind "M-m space" "menu-open Muokkaa"
#
# Refs menu
#
\bind "M-v p" "reference-back"
\bind "M-v space" "menu-open Viitteet"
# #
# Layout menu # Layout menu
@ -96,7 +107,8 @@
\bind "M-u y" "depth-next" \bind "M-u y" "depth-next"
\bind "M-u e" "layout-preamble" \bind "M-u e" "layout-preamble"
\bind "M-u u" "layout-save-default" \bind "M-u u" "layout-save-default"
\bind "M-u space" "menu-open Layout" \bind "M-u i" "appendix"
\bind "M-u space" "menu-open Muotoile"
# #
@ -105,43 +117,43 @@
\bind "M-l k" "figure-insert" \bind "M-l k" "figure-insert"
\bind "M-l t" "table-insert" \bind "M-l t" "table-insert"
\bind "M-l s" "buffer-child-insert" \bind "M-l y" "buffer-child-insert"
\bind "M-l c r" "file-insert-ascii line" \bind "M-l c r" "file-insert-ascii line"
\bind "M-l c k" "file-insert-ascii paragraph" \bind "M-l c k" "file-insert-ascii paragraph"
\bind "M-l x" "file-insert" \bind "M-l x" "file-insert"
\bind "M-l a" "footnote-insert" \bind "M-l a" "footnote-insert"
\bind "M-l r" "marginpar-insert" \bind "M-l r" "marginpar-insert"
\bind "M-l o k" "buffer-float-insert figure" \bind "M-l i k" "buffer-float-insert figure"
\bind "M-l o t" "buffer-float-insert table" \bind "M-l i t" "buffer-float-insert table"
\bind "M-l o l" "buffer-float-insert wide-fig" \bind "M-l i l" "buffer-float-insert wide-fig"
\bind "M-l o e" "buffer-float-insert wide-tab" \bind "M-l i e" "buffer-float-insert wide-tab"
\bind "M-l o a" "buffer-float-insert algorithm" \bind "M-l i a" "buffer-float-insert algorithm"
\bind "M-l t s" "toc-insert" \bind "M-l l s" "toc-insert"
\bind "M-l t k" "lof-insert" \bind "M-l l k" "lof-insert"
\bind "M-l t t" "lot-insert" \bind "M-l l t" "lot-insert"
\bind "M-l t a" "loa-insert" \bind "M-l l a" "loa-insert"
\bind "M-l t h" "index-print" \bind "M-l l h" "index-print"
\bind "M-l t b" "bibtex-insert" \bind "M-l l b" "bibtex-insert"
\bind "M-l s v" "hfill-insert" \bind "M-l o v" "hfill-insert"
\bind "M-l e t" "hyphenation-point-insert" \bind "M-l o t" "hyphenation-point-insert"
\bind "M-l e k" "protected-space-insert" \bind "M-l o k" "protected-space-insert"
\bind "M-l e r" "break-line" \bind "M-l o r" "break-line"
\bind "M-l e e" "dots-insert" \bind "M-l o e" "dots-insert"
\bind "M-l e v" "end-of-sentence-period-insert" \bind "M-l o p" "end-of-sentence-period-insert"
\bind "M-l e l" "quote-insert" \bind "M-l o l" "quote-insert"
\bind "M-l e m" "menu-separator-insert" \bind "M-l o m" "menu-separator-insert"
\bind "M-l h" "note-insert" \bind "M-l p" "note-insert"
\bind "M-l n" "label-insert" \bind "M-l n" "label-insert"
\bind "M-l v" "reference-insert" \bind "M-l v" "reference-insert"
\bind "M-l i" "citation-insert" \bind "M-l d" "citation-insert"
\bind "M-l k" "index-insert" \bind "M-l m" "index-insert"
\bind "M-l e" "index-insert-last" \bind "M-l s" "index-insert-last"
\bind "M-l u" "url-insert" \bind "M-l u" "url-insert"
\bind "M-l space" "menu-open Insert" \bind "M-l space" "menu-open Lisää"
@ -158,7 +170,7 @@
\bind "M-e t" "math-mode" \bind "M-e t" "math-mode"
\bind "M-e k" "math-display" \bind "M-e k" "math-display"
#bind "M-e p" "display-math-panel-or-something" # What function to use? #bind "M-e p" "display-math-panel-or-something" # What function to use?
\bind "M-e space" "menu-open Math" \bind "M-e space" "menu-open Matem."
# #
# Options menu # Options menu
@ -168,8 +180,8 @@
#bind "M-a o" "spellcheck-options" # Not yet implemented! #bind "M-a o" "spellcheck-options" # Not yet implemented!
#bind "M-a n" "keyboard-options" # Not yet implemented! #bind "M-a n" "keyboard-options" # Not yet implemented!
#bind "M-a l" "latex-options" # Not yet implemented! #bind "M-a l" "latex-options" # Not yet implemented!
\bind "M-a u" "reconfigure" \bind "M-a k" "reconfigure"
\bind "M-a space" "menu-open Options" \bind "M-a space" "menu-open Asetukset"
# #
@ -177,8 +189,8 @@
# #
# These are now defined in cua or emacs bind files so their "standard" # These are now defined in cua or emacs bind files so their "standard"
# bindings are available. (eg M-d "word-delete-forward" in emacs) ARRae # bindings are available. (eg M-d "word-delete-forward" in emacs) ARRae
#\bind "M-d p" "buffer-previous" #\bind "M-k p" "buffer-previous"
#\bind "M-d space" "menu-open Documents" \bind "M-j space" "menu-open Asiakirjat"
# #
@ -197,7 +209,10 @@
#bind "M-o t" "help-copyright" # Not yet implemented! #bind "M-o t" "help-copyright" # Not yet implemented!
#bind "M-o k" "help-credits" # Not yet implemented! #bind "M-o k" "help-credits" # Not yet implemented!
#bind "M-o v" "help-version" # Not yet implemented! #bind "M-o v" "help-version" # Not yet implemented!
\bind "M-o space" "menu-open Help" \bind "M-o space" "menu-open Ohje"
## Below this the bindings aren't localized.
# #

106
po/fi.po
View File

@ -9,8 +9,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: lyx 1.1.5fix1\n" "Project-Id-Version: lyx 1.1.5fix1\n"
"POT-Creation-Date: 2000-10-04 17:06+0300\n" "POT-Creation-Date: 2000-10-04 21:18+0300\n"
"PO-Revision-Date: 2000-10-03 13:44+03:00\n" "PO-Revision-Date: 2000-10-06 18:51+03:00\n"
"Last-Translator: Pauli Virtanen <pauli.virtanen@saunalahti.fi>\n" "Last-Translator: Pauli Virtanen <pauli.virtanen@saunalahti.fi>\n"
"Language-Team: Finnish, out-of-team\n" "Language-Team: Finnish, out-of-team\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -22,160 +22,160 @@ msgstr ""
#. or stop loading the file. #. or stop loading the file.
#. I can substitute but I don't see how I can #. I can substitute but I don't see how I can
#. stop loading... ideas?? ARRae980418 #. stop loading... ideas?? ARRae980418
#: src/buffer.C:399 #: src/buffer.C:403
msgid "Textclass Loading Error!" msgid "Textclass Loading Error!"
msgstr "Virhe tekstiluokan lataamisessa!" msgstr "Virhe tekstiluokan lataamisessa!"
#: src/buffer.C:400 #: src/buffer.C:404
msgid "Can't load textclass " msgid "Can't load textclass "
msgstr "Tekstiluokkaa ei voi ladata " msgstr "Tekstiluokkaa ei voi ladata "
#: src/buffer.C:402 #: src/buffer.C:406
msgid "-- substituting default" msgid "-- substituting default"
msgstr "-- korvautuu oletuksella" msgstr "-- korvautuu oletuksella"
#: src/buffer.C:1092 #: src/buffer.C:1096
#, c-format #, c-format
msgid "Warning: need lyxformat %.2f but found %.2f\n" msgid "Warning: need lyxformat %.2f but found %.2f\n"
msgstr "" msgstr ""
"Varoitus: tarvittava LyX-tiedostomuoto on %.2f, mutta tunnistettu on %.2f\n" "Varoitus: tarvittava LyX-tiedostomuoto on %.2f, mutta tunnistettu on %.2f\n"
#: src/buffer.C:1096 #: src/buffer.C:1100
#, c-format #, c-format
msgid "ERROR: need lyxformat %.2f but found %.2f\n" msgid "ERROR: need lyxformat %.2f but found %.2f\n"
msgstr "" msgstr ""
"Virhe: tarvittava LyX-tiedostomuoto on %.2f, mutta tunnistettu on %.2f\n" "Virhe: tarvittava LyX-tiedostomuoto on %.2f, mutta tunnistettu on %.2f\n"
#: src/buffer.C:1107 #: src/buffer.C:1111
msgid "Warning!" msgid "Warning!"
msgstr "Varoitus!" msgstr "Varoitus!"
#: src/buffer.C:1108 #: src/buffer.C:1112
msgid "Reading of document is not complete" msgid "Reading of document is not complete"
msgstr "Asiakirjaa ei ole vielä luettu kokonaan" msgstr "Asiakirjaa ei ole vielä luettu kokonaan"
#: src/buffer.C:1109 #: src/buffer.C:1113
msgid "Maybe the document is truncated" msgid "Maybe the document is truncated"
msgstr "Asiakirja saattaa olla typistetty" msgstr "Asiakirja saattaa olla typistetty"
#. "\\lyxformat" not found #. "\\lyxformat" not found
#: src/buffer.C:1115 src/buffer.C:1122 src/buffer.C:1125 #: src/buffer.C:1119 src/buffer.C:1126 src/buffer.C:1129
msgid "ERROR!" msgid "ERROR!"
msgstr "VIRHE!" msgstr "VIRHE!"
#: src/buffer.C:1116 #: src/buffer.C:1120
msgid "Old LyX file format found. Use LyX 0.10.x to read this!" msgid "Old LyX file format found. Use LyX 0.10.x to read this!"
msgstr "Vanha LyX-tiedostomuoto tunnistettu. Lue version 0.10.x avulla!" msgstr "Vanha LyX-tiedostomuoto tunnistettu. Lue version 0.10.x avulla!"
#: src/buffer.C:1122 #: src/buffer.C:1126
msgid "Not a LyX file!" msgid "Not a LyX file!"
msgstr "Ei ole LyX-tiedosto!" msgstr "Ei ole LyX-tiedosto!"
#: src/buffer.C:1125 #: src/buffer.C:1129
msgid "Unable to read file!" msgid "Unable to read file!"
msgstr "Tiedostoa ei voi lukea!" msgstr "Tiedostoa ei voi lukea!"
#: src/buffer.C:1205 #: src/buffer.C:1209
msgid "Could not delete auto-save file!" msgid "Could not delete auto-save file!"
msgstr "Automaattista tallennustiedostoa ei voi poistaa!" msgstr "Automaattista tallennustiedostoa ei voi poistaa!"
#: src/buffer.C:1231 src/buffer.C:1234 #: src/buffer.C:1235 src/buffer.C:1238
msgid "Error! Document is read-only: " msgid "Error! Document is read-only: "
msgstr "Virhe! Kirjoitussuojattu asiakirja:" msgstr "Virhe! Kirjoitussuojattu asiakirja:"
#: src/buffer.C:1244 src/buffer.C:1247 #: src/buffer.C:1248 src/buffer.C:1251
msgid "Error! Cannot write file: " msgid "Error! Cannot write file: "
msgstr "Virhe! Tiedostoon ei voi kirjoittaa:" msgstr "Virhe! Tiedostoon ei voi kirjoittaa:"
#: src/buffer.C:1255 src/buffer.C:1258 #: src/buffer.C:1259 src/buffer.C:1262
msgid "Error! Cannot open file: " msgid "Error! Cannot open file: "
msgstr "Virhe! Tiedostoa ei voi avata:" msgstr "Virhe! Tiedostoa ei voi avata:"
#: src/buffer.C:1304 #: src/buffer.C:1320
msgid "Error: Cannot write file:" msgid "Error: Cannot write file:"
msgstr "Virhe: Tiedostoon ei voi kirjoittaa:" msgstr "Virhe: Tiedostoon ei voi kirjoittaa:"
#: src/buffer.C:1635 #: src/buffer.C:1651
msgid "Error: Cannot open file: " msgid "Error: Cannot open file: "
msgstr "Virhe: Tiedostoa ei voi avata:" msgstr "Virhe: Tiedostoa ei voi avata:"
#: src/buffer.C:2238 src/buffer.C:2843 src/buffer.C:3499 #: src/buffer.C:2254 src/buffer.C:2859 src/buffer.C:3515
msgid "LYX_ERROR:" msgid "LYX_ERROR:"
msgstr "LYX_VIRHE:" msgstr "LYX_VIRHE:"
#: src/buffer.C:2238 src/buffer.C:2843 #: src/buffer.C:2254 src/buffer.C:2859
msgid "Cannot write file" msgid "Cannot write file"
msgstr "Tiedostoon ei voi kirjoittaa" msgstr "Tiedostoon ei voi kirjoittaa"
#: src/buffer.C:2314 src/buffer.C:2926 #: src/buffer.C:2330 src/buffer.C:2942
msgid "Error : Wrong depth for LatexType Command.\n" msgid "Error : Wrong depth for LatexType Command.\n"
msgstr "Virhe : Väärä syvyys LatexType-komennoksi.\n" msgstr "Virhe : Väärä syvyys LatexType-komennoksi.\n"
#. path to LaTeX file #. path to LaTeX file
#: src/buffer.C:3248 #: src/buffer.C:3264
msgid "Running LaTeX..." msgid "Running LaTeX..."
msgstr "LaTeX on käynnissä..." msgstr "LaTeX on käynnissä..."
#: src/buffer.C:3266 #: src/buffer.C:3282
msgid "LaTeX did not work!" msgid "LaTeX did not work!"
msgstr "LaTeX ei toiminut!" msgstr "LaTeX ei toiminut!"
#: src/buffer.C:3267 src/buffer.C:3334 src/buffer.C:3404 #: src/buffer.C:3283 src/buffer.C:3350 src/buffer.C:3420
msgid "Missing log file:" msgid "Missing log file:"
msgstr "Puuttuva lokitiedosto:" msgstr "Puuttuva lokitiedosto:"
#. no errors or any other things to think about so: #. no errors or any other things to think about so:
#: src/buffer.C:3269 src/buffer.C:3278 src/buffer.C:3336 src/buffer.C:3345 #: src/buffer.C:3285 src/buffer.C:3294 src/buffer.C:3352 src/buffer.C:3361
#: src/buffer.C:3406 src/buffer.C:3414 src/combox.C:461 #: src/buffer.C:3422 src/buffer.C:3430 src/combox.C:461
msgid "Done" msgid "Done"
msgstr "Valmis" msgstr "Valmis"
#. path to Literate file #. path to Literate file
#: src/buffer.C:3314 #: src/buffer.C:3330
msgid "Running Literate..." msgid "Running Literate..."
msgstr "Literate on käynnissä..." msgstr "Literate on käynnissä..."
#: src/buffer.C:3333 #: src/buffer.C:3349
msgid "Literate command did not work!" msgid "Literate command did not work!"
msgstr "Literate-komento ei toiminut!" msgstr "Literate-komento ei toiminut!"
#. path to Literate file #. path to Literate file
#: src/buffer.C:3381 #: src/buffer.C:3397
msgid "Building Program..." msgid "Building Program..."
msgstr "Build-ohjelma käynnissä..." msgstr "Build-ohjelma käynnissä..."
#: src/buffer.C:3403 #: src/buffer.C:3419
msgid "Build did not work!" msgid "Build did not work!"
msgstr "Build ei toiminut!" msgstr "Build ei toiminut!"
#. path to LaTeX file #. path to LaTeX file
#: src/buffer.C:3451 #: src/buffer.C:3467
msgid "Running chktex..." msgid "Running chktex..."
msgstr "chktex on käynnissä..." msgstr "chktex on käynnissä..."
#: src/buffer.C:3464 #: src/buffer.C:3480
msgid "chktex did not work!" msgid "chktex did not work!"
msgstr "chktex ei toiminut!" msgstr "chktex ei toiminut!"
#: src/buffer.C:3465 #: src/buffer.C:3481
msgid "Could not run with file:" msgid "Could not run with file:"
msgstr "Ohjelma ei voinut käsitellä tiedostoa:" msgstr "Ohjelma ei voinut käsitellä tiedostoa:"
#: src/buffer.C:3500 #: src/buffer.C:3516
msgid "Cannot open temporary file:" msgid "Cannot open temporary file:"
msgstr "Väliaikaistiedostoa ei voi avata:" msgstr "Väliaikaistiedostoa ei voi avata:"
#: src/buffer.C:3578 #: src/buffer.C:3594
msgid "Error! Can't open temporary file:" msgid "Error! Can't open temporary file:"
msgstr "Virhe! Väliaikaistiedostoa ei voi avata:" msgstr "Virhe! Väliaikaistiedostoa ei voi avata:"
#: src/BufferView2.C:61 src/BufferView2.C:71 src/buffer.C:3585 #: src/BufferView2.C:61 src/BufferView2.C:71 src/buffer.C:3601
#: src/bufferlist.C:411 src/lyx_cb.C:396 src/lyx_cb.C:758 src/lyx_cb.C:784 #: src/bufferlist.C:411 src/lyx_cb.C:396 src/lyx_cb.C:758 src/lyx_cb.C:784
#: src/lyx_sendfax_main.C:264 src/menus.C:2130 #: src/lyx_sendfax_main.C:264 src/menus.C:2130
msgid "Error!" msgid "Error!"
msgstr "Virhe!" msgstr "Virhe!"
#: src/buffer.C:3586 #: src/buffer.C:3602
msgid "Error executing *roff command on table" msgid "Error executing *roff command on table"
msgstr "Virhe suoritettaessa *roff-komentoa taulukkoon" msgstr "Virhe suoritettaessa *roff-komentoa taulukkoon"
@ -3549,11 +3549,11 @@ msgstr "Sulje"
#: src/lyx_gui_misc.C:412 src/lyx_gui_misc.C:421 src/lyx_gui_misc.C:425 #: src/lyx_gui_misc.C:412 src/lyx_gui_misc.C:421 src/lyx_gui_misc.C:425
msgid "Yes|Yy#y" msgid "Yes|Yy#y"
msgstr "Kyllä|kK#k" msgstr "Kyllä|Kk#k"
#: src/lyx_gui_misc.C:413 src/lyx_gui_misc.C:422 src/lyx_gui_misc.C:426 #: src/lyx_gui_misc.C:413 src/lyx_gui_misc.C:422 src/lyx_gui_misc.C:426
msgid "No|Nn#n" msgid "No|Nn#n"
msgstr "Ei|eE#e" msgstr "Ei|Ee#e"
#: src/lyx_gui_misc.C:436 #: src/lyx_gui_misc.C:436
msgid "Clear|#e" msgid "Clear|#e"
@ -4038,7 +4038,7 @@ msgstr "Lis
#: src/menus.C:195 src/menus.C:331 src/menus.C:332 src/menus.C:333 #: src/menus.C:195 src/menus.C:331 src/menus.C:332 src/menus.C:333
msgid "Math" msgid "Math"
msgstr "Matematiikka" msgstr "Matem."
#: src/menus.C:201 src/menus.C:210 src/menus.C:373 src/menus.C:374 #: src/menus.C:201 src/menus.C:210 src/menus.C:373 src/menus.C:374
#: src/menus.C:375 src/menus.C:434 src/menus.C:435 src/menus.C:436 #: src/menus.C:375 src/menus.C:434 src/menus.C:435 src/menus.C:436
@ -4079,7 +4079,7 @@ msgstr "MB|#A"
#: src/menus.C:363 #: src/menus.C:363
msgid "MB|#D" msgid "MB|#D"
msgstr "MB|#k" msgstr "MB|#j"
#: src/menus.C:377 src/menus.C:438 #: src/menus.C:377 src/menus.C:438
msgid "MB|#H" msgid "MB|#H"
@ -4600,7 +4600,7 @@ msgstr "EM|Xx#x#X"
#: src/menus.C:1159 #: src/menus.C:1159
msgid "EM|Tt#t#T" msgid "EM|Tt#t#T"
msgstr "EM|Tt#t#T" msgstr "EM|yY#y#Y"
#. fl_setpup_shortcut(EditMenu, 14, scex(_("EM|Ff#f#F"))); #. fl_setpup_shortcut(EditMenu, 14, scex(_("EM|Ff#f#F")));
#. fl_setpup_shortcut(EditMenu, 15, scex(_("EM|bB#b#B"))); #. fl_setpup_shortcut(EditMenu, 15, scex(_("EM|bB#b#B")));
@ -4790,15 +4790,15 @@ msgstr ""
#: src/menus.C:1719 #: src/menus.C:1719
msgid "IMF|gG#g#G" msgid "IMF|gG#g#G"
msgstr "IMF|Kk#k#K" msgstr "IMF|kK#k#K"
#: src/menus.C:1720 #: src/menus.C:1720
msgid "IMF|Tt#t#T" msgid "IMF|Tt#t#T"
msgstr "IMF|Tt#t#T" msgstr "IMF|tT#t#T"
#: src/menus.C:1721 #: src/menus.C:1721
msgid "IMF|Ww#w#W" msgid "IMF|Ww#w#W"
msgstr "IMF|Ll#l#L" msgstr "IMF|lL#l#L"
#: src/menus.C:1722 #: src/menus.C:1722
msgid "IMF|iI#i#I" msgid "IMF|iI#i#I"
@ -4806,7 +4806,7 @@ msgstr "IMF|eE#e#E"
#: src/menus.C:1723 #: src/menus.C:1723
msgid "IMF|Aa#a#A" msgid "IMF|Aa#a#A"
msgstr "IMF|Aa#a#A" msgstr "IMF|aA#a#A"
#: src/menus.C:1726 #: src/menus.C:1726
msgid "" msgid ""
@ -4840,7 +4840,7 @@ msgstr "IMS|Ee#e#E"
#: src/menus.C:1741 #: src/menus.C:1741
msgid "IMS|Ee#e#E" msgid "IMS|Ee#e#E"
msgstr "IMS|Vv#v#V" msgstr "IMS|pP#p#P"
#: src/menus.C:1742 #: src/menus.C:1742
msgid "IMS|Qq#q#Q" msgid "IMS|Qq#q#Q"
@ -4856,11 +4856,7 @@ msgid ""
"File...%l|Footnote|Margin Note|Floats%m%l|Lists & TOC%m%l|Special " "File...%l|Footnote|Margin Note|Floats%m%l|Lists & TOC%m%l|Special "
"Character%m%l|Note...|Label...|Cross-Reference...|Citation " "Character%m%l|Note...|Label...|Cross-Reference...|Citation "
"Reference...|Index entry...|Index entry of last word" "Reference...|Index entry...|Index entry of last word"
msgstr "" msgstr "Kuva...|Taulukko...%l|Sisällytä tiedosto...|Tuo ASCII-tiedosto%m|Lisää LyX-tiedosto...%l|Alaviite|Reunahuomautus|Irralliset osat%m%l|Luettelot%m%l|Erikoismerkki%m%l|Muistiinpano...|Nimike...|Viite...|Lähdeviite...|Hakemistoviite...|Hakemistoviite edeltävästä sanasta"
"Kuva...|Taulukko...%l|Sisällytä tiedosto...|Tuo ASCII-tiedosto%m|Lisää "
"LyX-tiedosto...%l|Alaviite|Reunahuomautus|Irralliset "
"osat%m%l|Luettelot%m%l|Erikoismerkki%m%l|Huomautus...|Nimike...|Viite...|Lähd"
"eviite...|Hakemistoviite...|Hakemistoviite edeltävästä sanasta"
#: src/menus.C:1767 #: src/menus.C:1767
msgid "IM|gG#g#G" msgid "IM|gG#g#G"
@ -4904,7 +4900,7 @@ msgstr "IM|oO#o#O"
#: src/menus.C:1777 #: src/menus.C:1777
msgid "IM|Nn#n#N" msgid "IM|Nn#n#N"
msgstr "IM|Hh#h#H" msgstr "IM|pP#p#P"
#: src/menus.C:1778 #: src/menus.C:1778
msgid "IM|Ll#l#L" msgid "IM|Ll#l#L"

View File

@ -697,6 +697,9 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, LyXParagraph *& par,
font.setLanguage(params.language_info); font.setLanguage(params.language_info);
lex.printError("Unknown language `$$Token'"); lex.printError("Unknown language `$$Token'");
} }
} else if (token == "\\numeric") {
lex.next();
font.setNumber(font.setLyXMisc(lex.GetString()));
} else if (token == "\\emph") { } else if (token == "\\emph") {
lex.next(); lex.next();
font.setEmph(font.setLyXMisc(lex.GetString())); font.setEmph(font.setLyXMisc(lex.GetString()));

View File

@ -78,6 +78,12 @@ void Lang(BufferView * bv, string const & l)
WriteAlert(_("Error! unknown language"),l); WriteAlert(_("Error! unknown language"),l);
} }
void Number(BufferView * bv)
{
LyXFont font(LyXFont::ALL_IGNORE);
font.setNumber(LyXFont::TOGGLE);
ToggleAndShow(bv, font);
}
void Melt(BufferView * bv) void Melt(BufferView * bv)
{ {
@ -295,7 +301,8 @@ void ToggleAndShow(BufferView * bv, LyXFont const & font)
bv->update(1); bv->update(1);
if (font.language() != ignore_language || if (font.language() != ignore_language ||
font.latex() != LyXFont::IGNORE) { font.latex() != LyXFont::IGNORE ||
font.number() != LyXFont::IGNORE) {
LyXText * text = bv->text; LyXText * text = bv->text;
LyXCursor & cursor = text->cursor; LyXCursor & cursor = text->cursor;
text->ComputeBidiTables(cursor.row); text->ComputeBidiTables(cursor.row);

View File

@ -24,6 +24,8 @@ extern void Table();
/// ///
extern void Lang(BufferView *, string const &); extern void Lang(BufferView *, string const &);
/// ///
extern void Number(BufferView *);
///
extern void Melt(BufferView *); extern void Melt(BufferView *);
/// ///
extern void Tex(BufferView *); extern void Tex(BufferView *);

View File

@ -404,7 +404,7 @@ void LyXGUI::create_forms()
combo_language->addto((*cit).second.lang.c_str()); combo_language->addto((*cit).second.lang.c_str());
combo_language2->addto((*cit).second.lang.c_str()); combo_language2->addto((*cit).second.lang.c_str());
} }
combo_language2->select_text("No change"); combo_language2->select_text(_("No change"));
// not really necessary, but we can do it anyway. // not really necessary, but we can do it anyway.
fl_addto_choice(fd_form_document->choice_fontsize, "default|10|11|12"); fl_addto_choice(fd_form_document->choice_fontsize, "default|10|11|12");

View File

@ -290,6 +290,7 @@ void LyXFont::update(LyXFont const & newfont,
setNoun(setMisc(newfont.noun(), noun())); setNoun(setMisc(newfont.noun(), noun()));
setLatex(setMisc(newfont.latex(), latex())); setLatex(setMisc(newfont.latex(), latex()));
setNumber(setMisc(newfont.number(), number()));
if (newfont.language() == language() && toggleall) if (newfont.language() == language() && toggleall)
if (language() == document_language) if (language() == document_language)
setLanguage(default_language); setLanguage(default_language);
@ -413,6 +414,8 @@ string LyXFont::stateText(BufferParams * params) const
ost << _("Default") << ", "; ost << _("Default") << ", ";
if (!params || language() != params->language_info) if (!params || language() != params->language_info)
ost << _("Language: ") << _(language()->display.c_str()); ost << _("Language: ") << _(language()->display.c_str());
if (number() != OFF)
ost << _(" Number ") << _(GUIMiscNames[number()]);
#ifdef HAVE_SSTREAM #ifdef HAVE_SSTREAM
string buf(ost.str().c_str()); string buf(ost.str().c_str());
#else #else
@ -621,6 +624,9 @@ void LyXFont::lyxWriteChanges(LyXFont const & orgfont, ostream & os) const
if (orgfont.emph() != emph()) { if (orgfont.emph() != emph()) {
os << "\\emph " << LyXMiscNames[emph()] << " \n"; os << "\\emph " << LyXMiscNames[emph()] << " \n";
} }
if (orgfont.number() != number()) {
os << "\\numeric " << LyXMiscNames[number()] << " \n";
}
if (orgfont.underbar() != underbar()) { if (orgfont.underbar() != underbar()) {
// This is only for backwards compatibility // This is only for backwards compatibility
switch (underbar()) { switch (underbar()) {
@ -686,11 +692,9 @@ int LyXFont::latexWriteStartChanges(ostream & os, LyXFont const & base,
if (isRightToLeft()) { if (isRightToLeft()) {
os << "\\R{"; os << "\\R{";
count += 3; count += 3;
env = true; //We have opened a new environment
} else { } else {
os << "\\L{"; os << "\\L{";
count += 3; count += 3;
env = true; //We have opened a new environment
} }
} else { } else {
string tmp = '{' + string tmp = '{' +
@ -698,10 +702,15 @@ int LyXFont::latexWriteStartChanges(ostream & os, LyXFont const & base,
"$$lang", language()->lang); "$$lang", language()->lang);
os << tmp; os << tmp;
count += tmp.length(); count += tmp.length();
env = true; //We have opened a new environment
} }
} }
if (number() == ON && prev.number() != ON &&
language()->lang == "hebrew") {
os << "{\\beginL ";
count += 9;
}
LyXFont f = *this; LyXFont f = *this;
f.reduce(base); f.reduce(base);
@ -773,18 +782,13 @@ int LyXFont::latexWriteEndChanges(ostream & os, LyXFont const & base,
int count = 0; int count = 0;
bool env = false; bool env = false;
if (language() != base.language() && language() != next.language()) {
os << "}";
++count;
env = true; // Size change need not bother about closing env.
}
LyXFont f = *this; // why do you need this? LyXFont f = *this; // why do you need this?
f.reduce(base); // why isn't this just "reduce(base);" (Lgb) f.reduce(base); // why isn't this just "reduce(base);" (Lgb)
// Because this function is const. Everything breaks if this // Because this function is const. Everything breaks if this
// method changes the font it represents. There is no speed penalty // method changes the font it represents. There is no speed penalty
// by using the temporary. (Asger) // by using the temporary. (Asger)
if (f.family() != INHERIT_FAMILY) { if (f.family() != INHERIT_FAMILY) {
os << '}'; os << '}';
++count; ++count;
@ -828,6 +832,17 @@ int LyXFont::latexWriteEndChanges(ostream & os, LyXFont const & base,
} }
} }
if (number() == ON && next.number() != ON &&
language()->lang == "hebrew") {
os << "\\endL}";
count += 6;
}
if (language() != base.language() && language() != next.language()) {
os << "}";
++count;
}
return count; return count;
} }

View File

@ -207,6 +207,9 @@ public:
/// ///
FONT_MISC_STATE latex() const; FONT_MISC_STATE latex() const;
///
FONT_MISC_STATE number() const;
/// ///
LColor::color color() const; LColor::color color() const;
@ -236,6 +239,8 @@ public:
/// ///
LyXFont & setLatex(LyXFont::FONT_MISC_STATE l); LyXFont & setLatex(LyXFont::FONT_MISC_STATE l);
/// ///
LyXFont & setNumber(LyXFont::FONT_MISC_STATE n);
///
LyXFont & setColor(LColor::color c); LyXFont & setColor(LColor::color c);
/// ///
LyXFont & setLanguage(Language const * l); LyXFont & setLanguage(Language const * l);
@ -319,14 +324,16 @@ public:
friend friend
bool operator==(LyXFont const & font1, LyXFont const & font2) { bool operator==(LyXFont const & font1, LyXFont const & font2) {
return font1.bits == font2.bits && return font1.bits == font2.bits &&
font1.lang == font2.lang; font1.lang == font2.lang &&
font1.number_ == font2.number_;
} }
/// ///
friend friend
bool operator!=(LyXFont const & font1, LyXFont const & font2) { bool operator!=(LyXFont const & font1, LyXFont const & font2) {
return font1.bits != font2.bits || return font1.bits != font2.bits ||
font1.lang != font2.lang; font1.lang != font2.lang ||
font1.number_ != font2.number_;
} }
/// compares two fonts, ignoring the setting of the Latex part. /// compares two fonts, ignoring the setting of the Latex part.
@ -364,6 +371,8 @@ private:
FontBits bits; FontBits bits;
/// ///
Language const * lang; Language const * lang;
///
FONT_MISC_STATE number_;
/// Sane font /// Sane font
static FontBits sane; static FontBits sane;
@ -388,6 +397,7 @@ LyXFont::LyXFont()
{ {
bits = sane; bits = sane;
lang = default_language; lang = default_language;
number_ = OFF;
} }
@ -396,6 +406,7 @@ LyXFont::LyXFont(LyXFont const & x)
{ {
bits = x.bits; bits = x.bits;
lang = x.lang; lang = x.lang;
number_ = x.number_;
} }
@ -404,6 +415,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT1)
{ {
bits = inherit; bits = inherit;
lang = default_language; lang = default_language;
number_ = OFF;
} }
@ -412,6 +424,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT2)
{ {
bits = ignore; bits = ignore;
lang = ignore_language; lang = ignore_language;
number_ = IGNORE;
} }
@ -420,12 +433,14 @@ LyXFont::LyXFont(LyXFont::FONT_INIT3)
{ {
bits = sane; bits = sane;
lang = default_language; lang = default_language;
number_ = OFF;
} }
inline inline
LyXFont::LyXFont(LyXFont::FONT_INIT1, Language const * l) LyXFont::LyXFont(LyXFont::FONT_INIT1, Language const * l)
{ {
bits = inherit; bits = inherit;
lang = l; lang = l;
number_ = OFF;
} }
@ -434,6 +449,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT2, Language const * l)
{ {
bits = ignore; bits = ignore;
lang = l; lang = l;
number_ = IGNORE;
} }
@ -442,6 +458,7 @@ LyXFont::LyXFont(LyXFont::FONT_INIT3, Language const * l)
{ {
bits = sane; bits = sane;
lang = l; lang = l;
number_ = OFF;
} }
@ -450,6 +467,7 @@ LyXFont & LyXFont::operator=(LyXFont const & x)
{ {
bits = x.bits; bits = x.bits;
lang = x.lang; lang = x.lang;
number_ = x.number_;
return *this; return *this;
} }
@ -524,6 +542,13 @@ Language const * LyXFont::language() const
} }
inline
LyXFont::FONT_MISC_STATE LyXFont::number() const
{
return number_;
}
inline inline
bool LyXFont::isRightToLeft() const bool LyXFont::isRightToLeft() const
{ {
@ -534,7 +559,7 @@ bool LyXFont::isRightToLeft() const
inline inline
bool LyXFont::isVisibleRightToLeft() const bool LyXFont::isVisibleRightToLeft() const
{ {
return (lang->RightToLeft && latex() != ON); return (lang->RightToLeft && latex() != ON && number() != ON);
} }
@ -616,4 +641,12 @@ LyXFont & LyXFont::setLanguage(Language const * l)
return *this; return *this;
} }
inline
LyXFont & LyXFont::setNumber(LyXFont::FONT_MISC_STATE n)
{
number_ = n;
return *this;
}
#endif #endif

View File

@ -36,8 +36,11 @@
#ifdef HAVE_SYS_SELECT_H #ifdef HAVE_SYS_SELECT_H
# ifdef HAVE_STRINGS_H # ifdef HAVE_STRINGS_H
// <strings.h> is needed at least on AIX because FD_ZERO uses bzero(). // <strings.h> is needed at least on AIX because FD_ZERO uses bzero().
// BUT we cannot include both string.h and strings.h on Irix 6.5 :(
# ifdef _AIX
# include <strings.h> # include <strings.h>
# endif # endif
# endif
#include <sys/select.h> #include <sys/select.h>
#endif #endif

View File

@ -33,6 +33,7 @@
#include "Painter.h" #include "Painter.h"
#include "tracer.h" #include "tracer.h"
#include "font.h" #include "font.h"
#include "bufferview_funcs.h"
using std::max; using std::max;
using std::min; using std::min;
@ -305,7 +306,6 @@ LyXParagraph::size_type LyXText::RowLastPrintable(Row const * row) const
return last; return last;
} }
void LyXText::ComputeBidiTables(Row * row) const void LyXText::ComputeBidiTables(Row * row) const
{ {
bidi_same_direction = true; bidi_same_direction = true;
@ -349,6 +349,13 @@ void LyXText::ComputeBidiTables(Row * row) const
(!row->par->table || !row->par->IsNewline(lpos+1)) ) (!row->par->table || !row->par->IsNewline(lpos+1)) )
? lpos + 1 : lpos; ? lpos + 1 : lpos;
LyXFont font = row->par->GetFontSettings(pos); LyXFont font = row->par->GetFontSettings(pos);
if (pos != lpos && 0 < lpos && rtl0 && font.isRightToLeft() &&
font.number() == LyXFont::ON &&
row->par->GetFontSettings(lpos-1).number() == LyXFont::ON) {
font = row->par->GetFontSettings(lpos);
is_space = false;
}
bool new_rtl = font.isVisibleRightToLeft(); bool new_rtl = font.isVisibleRightToLeft();
bool new_rtl0 = font.isRightToLeft(); bool new_rtl0 = font.isRightToLeft();
int new_level; int new_level;
@ -357,7 +364,7 @@ void LyXText::ComputeBidiTables(Row * row) const
new_level = 0; new_level = 0;
new_rtl = new_rtl0 = false; new_rtl = new_rtl0 = false;
} else if (lpos == main_body - 1 && row->pos < main_body - 1 && } else if (lpos == main_body - 1 && row->pos < main_body - 1 &&
row->par->IsLineSeparator(lpos)) { is_space) {
new_level = (rtl_par) ? 1 : 0; new_level = (rtl_par) ? 1 : 0;
new_rtl = new_rtl0 = rtl_par; new_rtl = new_rtl0 = rtl_par;
} else if (new_rtl0) } else if (new_rtl0)
@ -2656,6 +2663,38 @@ void LyXText::InsertChar(char c)
textclasslist.Style(buffer->params.textclass, textclasslist.Style(buffer->params.textclass,
cursor.row->par->GetLayout()).free_spacing; cursor.row->par->GetLayout()).free_spacing;
if (lyxrc.auto_number) {
if (current_font.number() == LyXFont::ON) {
if (!isdigit(c) && !strchr("+-/*", c) &&
!(strchr(".",c) &&
cursor.pos >= 1 && cursor.pos < cursor.par->size() &&
GetFont(cursor.par, cursor.pos).number() == LyXFont::ON &&
GetFont(cursor.par, cursor.pos-1).number() == LyXFont::ON)
)
Number(owner_); // Set current_font.number to OFF
} else if (isdigit(c) &&
real_current_font.isVisibleRightToLeft()) {
Number(owner_); // Set current_font.number to ON
if (cursor.pos > 0) {
char c = cursor.par->GetChar(cursor.pos - 1);
if (strchr("+-",c) &&
(cursor.pos == 1 ||
cursor.par->IsSeparator(cursor.pos - 2) ||
cursor.par->IsNewline(cursor.pos - 2) )
) {
SetCharFont(cursor.par, cursor.pos - 1,
current_font);
} else if (strchr(".", c) &&
cursor.pos >= 2 &&
GetFont(cursor.par, cursor.pos-2).number() == LyXFont::ON) {
SetCharFont(cursor.par, cursor.pos - 1,
current_font);
}
}
}
}
/* table stuff -- begin*/ /* table stuff -- begin*/
if (cursor.par->table) { if (cursor.par->table) {
InsertCharInTable(c); InsertCharInTable(c);

View File

@ -1187,7 +1187,8 @@ void LyXText::ToggleFree(LyXFont const & font, bool toggleall)
// If there is a change in the language the implicit word selection // If there is a change in the language the implicit word selection
// is disabled. // is disabled.
LyXCursor resetCursor = cursor; LyXCursor resetCursor = cursor;
bool implicitSelection = (font.language() == ignore_language) bool implicitSelection = (font.language() == ignore_language &&
font.number() == LyXFont::IGNORE)
? SelectWordWhenUnderCursor() : false; ? SelectWordWhenUnderCursor() : false;
// Set font // Set font