Commit Graph

76 Commits

Author SHA1 Message Date
Georg Baum
29012f2596 Fix output of labels and references that contain characters with an UCS4
codepoint > 255.
I decided that this is no file format change: We already had the change to
format 249 that allowed unicode in .lyx files. The output to .tex of
non-ascii characters is now different than before (even for those that were
supported previously, e.g. german umlauts in latin1), but this is only
relevant if people referenced a label in ERT. Since we cannot detect this
anyway we don't need a file format change.

	* src/support/lstrings.C
	(escape): Extend the escaping algorithm from 8 bit to 24 bit.

	* src/support/lstrings.h
	(escape): Update comment

	* lib/lyx2lyx/lyx_1_4.py
	(lyx_support_escape): Update comment


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15883 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-12 13:42:20 +00:00
Georg Baum
7e7d28a0ca Make it possible to uses non-ascii labelstring, endlabelstring and
labelstring_appendix in layout files

	* src/text2.C
	(LyXText::setLayout): Translate labelwidthstring for paragraph
	(LyXText::getStringToIndex): labelwidthstring is now a docstring

	* src/buffer.[Ch]
	(Buffer::translateLabel): New method for translating a label if it
	is not already translated by the user in the layout file

	* src/lyxtext.h
	(setParagraph): labelwidthstring is now a docstring

	* src/support/lstrings.[Ch]
	(bool isAscii): New utility function: Determine whether a docstring
	contains only pure ascii

	* src/text3.C
	(LyXText::dispatch): setParagraph() now takes a docstring

	* src/lyxlayout.C
	(LyXLayout::read): Don't use from_ascii when reading labelstring_,
	endlabelstring_ and labelstring_appendix_

	* src/buffer_funcs.C
	(setLabel): labelwidthstring is now a docstring
	(setLabel): Use Buffer::translateLabel instead of Buffer::B_ to
	translate labels
	(expandLabel): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15855 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-11 12:00:34 +00:00
Lars Gullik Bjønnes
3674a8c003 LFUN_UNICODE_INSERT - unicode-insert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15490 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 18:47:19 +00:00
André Pönitz
de6418f377 use more unicode in math
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15462 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 10:15:23 +00:00
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Georg Baum
ffe7cb1b78 Use the new InsetCommandParams interface (inset part), from Ugras and me
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15413 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 16:12:49 +00:00
Georg Baum
8b67659646 Use UTF8 for LaTeX export.
Known problems:
- No space is output after a \hfill. I probably broke this with the
  InsetCommand patch. I'll have a look later.
- Although the encoding is now UTF8 the arguments of the inputenc package
  are still the old ones, so LaTeX will not run.
- Labels and references with non-ASCII characters are broken. This needs to
  be fixed in lyx::support::escape(), but this is a file format change.
- Something seems to be wrong with index entries, but this is probably also
  due to the InsetCommand changes.

Have fun!


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15378 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 16:51:30 +00:00
Georg Baum
34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
export (e.g. the ToC) and the navigate menu.

	* src/insets/insetbase.h
	(InsetBase::plaintext): output to a docstream
	(InsetBase::textString): ditto

	* src/mathed/TextPainter.h
	(TextPainter::show): ditto

	* src/support/docstream.[Ch] New file and string streams for
	docstring. The file streams convert to UTF8 on the fly.

	* many more files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 19:40:50 +00:00
Georg Baum
e1d0ce0a6e qt3 compiles again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15299 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 18:32:32 +00:00
Abdelrazak Younes
e7c4a0554c more unicode work.
* lstrings.[Ch]: new docstring trim() function

* qt4/validators.C: PathValidator::validate() and printable_list() converted to unicode.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15281 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 09:15:37 +00:00
Georg Baum
9080c44458 Use wchar_t as lyx::char_type if it is 32 bit wide.
No scons and cmake support! scons and cmake need to find out the size of
wchar_t and define this macro in config.h (example for 32bit wchar_t):

* The size of a `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4

	* configure.ac: Test size of wchar_t

	* src/support/types.h: don't include docstring.h anymore.
	Use wchar_t as lyx::char_type if it is 32 bit wide.

	* src/support/docstring.h: Use lyx::char_type for defining docstring

	* src/metricsinfo.h: include support/docstring.h instead of
	support/types.h
	* src/lyxlex.h: ditto
	* src/frontends/font_metrics.h: ditto
	* src/frontends/qt4/qt_helpers.h: ditto
	* src/frontends/Painter.h: ditto
	* src/errorlist.h: ditto
	* src/support/lstrings.h: ditto
	* src/lyxfunc.h: ditto
	* src/LaTeX.h: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14991 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-13 21:13:49 +00:00
Abdelrazak Younes
a6444784dc A bunch of conversion to docstring.
- bformat(): contributed by Georg Beaum
- Alert::XXX
- error(): in SpellBase, ispell, psell, aspell, buffer, etc.
- message(), message signal
- displayMessage(), setMessage,
- ErrorItems
- prettyName()
- makeDisplayPath()

and maybe some more...


- etc... 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14970 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 08:54:10 +00:00
Lars Gullik Bjønnes
0dc81f2463 Change MenuBackend and the other menuclasses to store a docstring. Do the required updates to lstrings/convert.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14955 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 22:27:22 +00:00
Abdelrazak Younes
a6e0f26fe2 * MSVC compilation fix: replace subst template with subst_char and sub_string
* add lowercase() and uppercase() functions for unicode char_type.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14881 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-03 14:09:24 +00:00
Georg Baum
e33bac93cd Fix clipboard/selection encoding
* src/frontends/qt[34]/qt_helpers.[Ch]
	(toqstr): add variant for docstring
	(qstring_to_ucs4): Use docstring and port from qt4 to qt3

	* Many other files: Many std::string -> lyx::docstring conversions

	* src/support/lstrings.[Ch]
	(subst): Add variant for docstring and char_type
	(externalLineEnding): std::string -> lyx::docstring
	(internalLineEnding): std::string -> lyx::docstring


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14871 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-03 07:02:38 +00:00
Georg Baum
6afe0b915c Fix some conversion problems spotted by MSVC warnings
* src/insets/insetquotes.[Ch]
	(InsetQuotes::InsetQuotes): char -> lyx::char_type

	* src/support/lstrings.h
	(contains): new variant for docstrings

	* src/frontends/controllers/ControlSpellchecker.C
	(isLetter): Add missing conversion to utf8
	(nextWord): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14867 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 10:18:20 +00:00
Lars Gullik Bjønnes
c46b7d8955 Merge the unicode branch into trunk.
- src/support/unicode.[Ch]: new files with functions for converting
  to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
  holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00
Georg Baum
2bbe7e5b89 Make MathBigInset working
* src/cursor.C
        (LCursor::plainInsert): combine the previous math atom with the new
        one to a MathBigInset if possible

        * src/mathed/math_biginset.[Ch]
        (MathBigInset::name): implement
        (MathBigInset::isBigInsetDelim): new, test whether a given token is
        a valid MathBigInset delimiter

        * src/mathed/math_biginset.C
        (MathBigInset::size): handle Big, Bigg and Biggg
        (MathBigInset::increase): ditto
        (MathBigInset::draw): fix deco drawing
        (MathBigInset::write): append space if necessary

        * src/mathed/math_factory.C
        (createMathInset): handle l->inset == "big"

        * src/mathed/math_parser.C
        (Token::asInput): return a token as input, stolen from tex2lyx
        (void Parser::parse1): Create a MathBigInset when needed

	* src/mathed/math_support.C:
	(deco_table): add lbrace and rbrace

        * src/mathed/math_nestinset.C
        (MathNestInset::interpret): combine the previous math atom with the
        new character to a MathBigInset if possible

        * src/ParagraphParameters.C
        (findToken): move from here

        * src/support/lstrings.[Ch]
        (findToken): to here

        * lib/symbols: add MathBigInset symbols


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13700 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-20 09:55:45 +00:00
Lars Gullik Bjønnes
342cdf4322 the convert patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9538 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-27 21:05:44 +00:00
Lars Gullik Bjønnes
6a55be9506 tostr -> convert and some bformat work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9446 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-06 15:40:49 +00:00
Lars Gullik Bjønnes
2e5976a0be Cleanup usage of contains and simplify a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8378 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-01 12:46:14 +00:00
Lars Gullik Bjønnes
3420904448 The func.diff patch. Functors work and some tiny cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8377 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-31 15:30:24 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
Angus Leeming
15d71955d9 Rewrite ReplaceEnvironmentPath in a sane manner.
Get rid of lstrings.[Ch]'s regexMatch.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7830 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-25 23:01:43 +00:00
Angus Leeming
236ea81bc5 Replace LString.h with support/std_string.h,
Lsstream.h with support/std_sstream.h,
support/LIstream.h with support/std_istream.h,
support/LOstream.h with support/std_ostream.h.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7685 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 17:23:11 +00:00
Lars Gullik Bjønnes
2faa06b829 have row information on state line + one more bformat variant
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7663 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-04 14:33:16 +00:00
Angus Leeming
0be0fcfd59 If I ever see another licence blurb again, it'll be too soon...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7598 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-23 00:17:00 +00:00
Lars Gullik Bjønnes
92d522b7f1 introduce namespace lyx::support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7224 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-30 23:56:22 +00:00
Lars Gullik Bjønnes
b1fb034c3b parlist-16-a.diff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6999 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-22 10:47:31 +00:00
André Pönitz
a9d83a8583 lstrings.[Ch]: use string const & instead of char const * for format
more in line with the other args whcih are already string


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6974 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-16 14:59:48 +00:00
André Pönitz
dbef37d522 non-templated tostr in separate files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6955 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-13 14:36:24 +00:00
André Pönitz
d31244b5e2 The 'bformat' introduction
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6953 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-13 09:48:57 +00:00
Lars Gullik Bjønnes
99d1627a47 dont use pragma impementation and interface anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6138 a592a061-630c-0410-9148-cb99ea01b6c8
2003-02-13 16:53:15 +00:00
Lars Gullik Bjønnes
6a1167adab STRCONV
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5573 a592a061-630c-0410-9148-cb99ea01b6c8
2002-11-04 02:12:42 +00:00
Angus Leeming
25d9537fbd Clean up licence info and add Lars as the mysterious unknown author.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5341 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-25 10:03:41 +00:00
Lars Gullik Bjønnes
043298544c Rename strip to rtrim
Rename frontStrip to ltrim
Add new trim function.

modify source for this change.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4801 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-28 22:50:13 +00:00
Lars Gullik Bjønnes
e39935204d remove some unneeded version of functions from lstrings,
some gcc 3.2. minor compile fixes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4800 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-28 18:13:51 +00:00
Jean-Marc Lasgouttes
1c52d8f898 toc support reorganization; changes to xform_helpers; aspect ratio patch from herbert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4732 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-21 15:51:07 +00:00
Jean-Marc Lasgouttes
57e89ae2bf compile fix in XPM image loader; fix opaque handling; remove warnings; fix turkish locale problems; add shortcuts to documents menu
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4661 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-16 21:17:10 +00:00
Angus Leeming
9b3f8c9819 Those parts of Herbert's natbib patch that either fix bugs or just move
functions around.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3995 a592a061-630c-0410-9148-cb99ea01b6c8
2002-04-15 12:05:07 +00:00
Lars Gullik Bjønnes
a654de29ea ws cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3802 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-21 17:09:55 +00:00
Lars Gullik Bjønnes
7ea7dabed1 to much stuff for my liking...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3554 a592a061-630c-0410-9148-cb99ea01b6c8
2002-02-16 15:59:55 +00:00
Angus Leeming
754d59b4a1 Create a new support function lyx::count to use in place of std::count.
Remove countChar as lyx::count superceeds it.
Use the new function.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3372 a592a061-630c-0410-9148-cb99ea01b6c8
2002-01-14 13:04:06 +00:00
Jean-Marc Lasgouttes
1070702ea4 removed most uses of toupper and friends, removed <config.h> from headers and added it to some source files, applied patch from John for search&replace, and perhaps other things you will discover by browsing Changelog :)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3255 a592a061-630c-0410-9148-cb99ea01b6c8
2001-12-20 15:11:51 +00:00
Lars Gullik Bjønnes
76ef051b1c LyX Drinkers United: patch 2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2144 a592a061-630c-0410-9148-cb99ea01b6c8
2001-06-27 14:10:35 +00:00
Lars Gullik Bjønnes
d1182f17da LyX Drinkers Union: patch 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2141 a592a061-630c-0410-9148-cb99ea01b6c8
2001-06-25 00:06:33 +00:00
Jean-Marc Lasgouttes
07ea5f51f0 compilation fixes for compaq cxx + small things
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2079 a592a061-630c-0410-9148-cb99ea01b6c8
2001-06-01 10:53:24 +00:00
Lars Gullik Bjønnes
f1d829a185 adjust to be able to complile with gcc 3.0, put selection vars into own struct, remove some C string funcs in favour of lstrings ones
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2074 a592a061-630c-0410-9148-cb99ea01b6c8
2001-05-31 02:23:46 +00:00
Lars Gullik Bjønnes
9a3176581d small cleanup, doxygen, formatting changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1521 a592a061-630c-0410-9148-cb99ea01b6c8
2001-02-16 09:25:43 +00:00