diff --git a/ChangeLog b/ChangeLog index a404ab6cc7..47ae6d5d10 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2000-11-17 Matej Cepl + + * lib/kbd/czech.kmap: add apostroph mark to the Czech keyboard. + +2000-11-15 John Levon + + * src/vspace.C (nextToken): fix so it can handle length phrases like + "10mm+-20mm", "40inplus16mmminus10cm" etc. + 2000-11-17 Lars Gullik Bjønnes * src/frontends/xforms/FormPreferences.C: constify several variables diff --git a/lib/kbd/czech.kmap b/lib/kbd/czech.kmap index 535c16d4fb..e70ee6212f 100644 --- a/lib/kbd/czech.kmap +++ b/lib/kbd/czech.kmap @@ -1,11 +1,11 @@ # # Key definition file for Czech national keyboard for LyX - hope it's OK # -# (c)1995 by Ivan Schreter, schreter@ccsun.tuke.sk +# (c)1995 by Ivan Schreter, schreter@kdk.sk # \kmod = acute aceilnorsuyzACEILNORSUYZ # acute is on '=' -\kmod + caron cdelnrstzCDELNRSTY # caron is on Shift-'=' +\kmod + caron cdelnrstzCDELNRSTZ # caron is on Shift-'=' \kmap ~ ; \kmap 1 + # map numbers to Czech letters and \kmap ! 1 # Shift-numbers to numbers @@ -50,11 +50,10 @@ \kxmod caron L "\\q{L}" \kxmod caron d "\\q{d}" \kxmod acute i "\\'{\\i}" # use only root of i for i acute -# Switch Z and Y as on the standard Czech professional keyboard -\kmap Z Y -\kmap Y Z -\kmap z y -\kmap y z +\kxmod caron y "\\v{z}" # switch from QWERTY to QWERTZ \kxmod caron Y "\\v{Z}" -\kxmod caron y "\\v{z}" - +\kmap z y +\kmap Z Y +\kmap y z +\kmap Y Z +\kmap | ' diff --git a/po/POTFILES.in b/po/POTFILES.in index f2d01bce97..261cc64541 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -48,35 +48,35 @@ src/frontends/kde/refdlg.C src/frontends/kde/tocdlg.C src/frontends/kde/urldlg.C src/frontends/xforms/FormBase.h -src/frontends/xforms/form_citation.C src/frontends/xforms/FormCitation.C -src/frontends/xforms/form_copyright.C +src/frontends/xforms/form_citation.C src/frontends/xforms/FormCopyright.C -src/frontends/xforms/form_document.C +src/frontends/xforms/form_copyright.C src/frontends/xforms/FormDocument.C -src/frontends/xforms/form_error.C +src/frontends/xforms/form_document.C src/frontends/xforms/FormError.C -src/frontends/xforms/form_graphics.C +src/frontends/xforms/form_error.C src/frontends/xforms/FormGraphics.C -src/frontends/xforms/form_index.C +src/frontends/xforms/form_graphics.C src/frontends/xforms/FormIndex.C +src/frontends/xforms/form_index.C src/frontends/xforms/FormInset.h -src/frontends/xforms/form_paragraph.C src/frontends/xforms/FormParagraph.C -src/frontends/xforms/form_preferences.C +src/frontends/xforms/form_paragraph.C src/frontends/xforms/FormPreferences.C -src/frontends/xforms/form_print.C +src/frontends/xforms/form_preferences.C src/frontends/xforms/FormPrint.C -src/frontends/xforms/form_ref.C +src/frontends/xforms/form_print.C src/frontends/xforms/FormRef.C -src/frontends/xforms/form_tabular.C +src/frontends/xforms/form_ref.C src/frontends/xforms/FormTabular.C -src/frontends/xforms/form_tabular_create.C +src/frontends/xforms/form_tabular.C src/frontends/xforms/FormTabularCreate.C -src/frontends/xforms/form_toc.C +src/frontends/xforms/form_tabular_create.C src/frontends/xforms/FormToc.C -src/frontends/xforms/form_url.C +src/frontends/xforms/form_toc.C src/frontends/xforms/FormUrl.C +src/frontends/xforms/form_url.C src/frontends/xforms/Menubar_pimpl.C src/gettext.h src/importer.C diff --git a/src/vspace.C b/src/vspace.C index 25d5d5ef51..d12ecb820a 100644 --- a/src/vspace.C +++ b/src/vspace.C @@ -87,32 +87,57 @@ char nextToken(string & data) lyx_advance(data, 5); return '-'; } else { - string::size_type i; + string::size_type i = data.find_first_not_of("0123456789."); + + if (i != 0) { + if (number_index > 3) return 'E'; + + string buffer; + + // we have found some number + if (i == string::npos) { + buffer = data; + i = data.size() + 1; + } else + buffer = data.substr(0, i); + + lyx_advance(data, i); - // I really mean assignment ("=") below, not equality! - if ((i = data.find_last_of("0123456789.")) != string::npos) { - if (number_index > 3) return 'E'; // Error - string buffer = data.substr(0, i + 1); if (isStrDbl(buffer)) { number[number_index] = strToDbl(buffer); - lyx_advance(data, i + 1); ++number_index; return 'n'; - } else - return 'E'; // Error - } else if ((i = data.find_last_of("abcdefghijklmnopqrstuvwxyz")) - != string::npos) { - if (unit_index > 3) return 'E'; // Error - string buffer = data.substr(0, i + 1); - unit[unit_index] = unitFromString(buffer); + } else return 'E'; + } + + i = data.find_first_not_of("abcdefghijklmnopqrstuvwxyz"); + if (i != 0) { + if (unit_index > 3) return 'E'; + + string buffer; + + // we have found some alphabetical string + if (i == string::npos) { + buffer = data; + i = data.size() + 1; + } else + buffer = data.substr(0, i); + + // possibly we have "mmplus" string or similar + if (buffer.size() > 5 && (buffer.substr(2,4) == string("plus") || buffer.substr(2,5) == string("minus"))) { + lyx_advance(data, 2); + unit[unit_index] = unitFromString(buffer.substr(0, 2)); + } else { + lyx_advance(data, i); + unit[unit_index] = unitFromString(buffer); + } + if (unit[unit_index] != LyXLength::UNIT_NONE) { - lyx_advance(data, i + 1); ++unit_index; return 'u'; - } else - return 'E'; // Error - } else - return 'E'; // Error + } else return 'E'; // Error + } + return 'E'; // Error } }