Commit Graph

42 Commits

Author SHA1 Message Date
Georg Baum
8971c25508 Prevent invalid latex for multilingual sections and inputenc == auto.
We output the \inputencoding command before the section if possible, and we
ignore all encoding changes in the section. Commands from the unicodesymbols
file will be used for characters that can't be encoded in the current
encoding instead of switching the encoding.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17827 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-16 18:06:01 +00:00
André Pönitz
83b326d204 avoid evalutation of lyxerr arguments unless really needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17675 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 10:09:49 +00:00
Jean-Marc Lasgouttes
d7250301a6 * src/encoding.C (latexChar,read):
* src/support/unicode.C (convert): do not forget to reset lyxerr to 
        std::dec type of output.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17609 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-28 13:57:22 +00:00
Georg Baum
8703fa34b9 * src/encoding.C
(Encodings::isComposeChar_hebrew): Change code points from CP1255 to
	UCS4


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17543 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 10:45:03 +00:00
Georg Baum
6862d3f972 Update special arabic support to UCS4
* src/encoding.C
	(arabic_table): Delete (this was used for fonts in iso8859-6 encoding)
	(arabic_table2): Rename to arabic_table and update code points to UCS4.
	The old code points in this table where a custom encoding:
	Some ASCII positions and some unused positions of the iso8859-6
	encoding where used to encode the shaped forms. Example:
	The character hamza was encoded with 0x41. The iso8859-6 encoding in
	lib/encodings contained ithe value 0xfe80 at position 0x41 before
	the transition to unicode => Change the value 0x41 to 0xfe80 in the
	table.
	This old custom encoding was needed because the transformed characters
	needed to be transported through 8bit characters.
	(Encodings::is_arabic_special): Change code points from iso8859-6 to UCS4
	(Encodings::isComposeChar_arabic): Ditto
	(Encodings::is_arabic): Ditto
	(Encodings::transformChar): Always use arabic_table


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17532 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-24 21:12:29 +00:00
Jean-Marc Lasgouttes
85878d2881 * encoding.C (read): fix missing initialization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17435 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-13 14:48:46 +00:00
Georg Baum
0c26507890 * lib/encodings: Explain that only single byte encodings can be
added easily

	* src/encoding.C
	(Encoding::Encoding): Better test for utf8


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17313 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-23 20:13:06 +00:00
Georg Baum
fff190773f Fix bug 845 (now really).
* src/encoding.C
	(Encoding::validate): Add the preamble stuff even if c can be encoded
	in this encoding, since the inputenc package only maps the code point
	c to a command, it does not make this command available.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17239 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 15:37:53 +00:00
Georg Baum
6bf6c8453d add pure ASCII encoding for LaTeX export
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17224 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 18:29:48 +00:00
Georg Baum
b619dbfedf forgot this
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17214 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 07:50:15 +00:00
Jürgen Spitzmüller
f0fa6f4448 * src/encoding.C: add forgotten header
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16923 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-29 08:49:01 +00:00
Georg Baum
feb7895965 Add machinery to output arbitrary unicode characters with LaTeX commands
read from a text file.

	* src/encoding.[Ch]

	(Encoding::latexChar): New, output a character to LaTeX
	(Encoding::validate): New, add needed preamble stuff for a character
	(Encodings::read): Read new unicodesymbols file
	(Encodings::isCombiningChar): New, is a character a combining char?

	* src/paragraph_pimpl.C
	(isEncoding): Delete, no longer needed
	(getEncoding): New, get the real encoding of a font
	(Paragraph::Pimpl::latexSurrogatePair): New, output a surrogate pair
	to LaTeX
	(Paragraph::Pimpl::simpleTeXBlanks): Use latexSurrogatePair if needed
	(Paragraph::Pimpl::simpleTeXSpecialChars): Ditto, and replace several
	hardcoded characters with a call of encoding.latexChar()
	(Paragraph::Pimpl::validate): replace several hardcoded characters
	with a call of encoding.validate()

	* src/support/debugstream.h
	(basic_debugstream::disable): New, disable the stream completely
	(basic_debugstream::enable): New, reenable the stream

	* src/lyx_main.[Ch]: Adjust to changes above

	* src/paragraph.C: Ditto

	* lib/unicodesymbols: New file with UCS4 -> LaTeX command mapping.
	It is far from complete yet, but contains most accents on latin
	characters.

	* lib/Makefile.am: add lib/unicodesymbols

	* development/scons/scons_manifest.py: ditto

	* development/tools/unicodesymbols.py: Helper script to update
	lib/unicodesymbols with new symbols


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16920 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-28 21:27:45 +00:00
Georg Baum
fdba3fadfe Small optimization for the unicodesymbols patch
* src/encoding.C
	(LaTeXNamesEqual): Delete comparison class: It is no longer needed
	(Encodings::getFromLaTeXName): Don't use std::find_if since it makes
	copies of the map contents


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16903 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-28 10:07:17 +00:00
Georg Baum
8e6e970d7b Next step of true unicode filenames: Use support::FileName instead of
std::string at many places (not all yet).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16069 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 21:30:39 +00:00
Georg Baum
b60ef50a54 Remove unused symbol encoding
* src/encoding.[Ch]
	(symbol_encoding, symbol_encoding_): remove (unused)

	* src/frontends/qt4/QLPainter.C
	(QLPainter::text): Remove commented code. It was used in pre
	unicode times to get unicode values of the symbol fonts if
	USE_UNICODE_FOR_SYMBOLS was defined, but this was never defined
	anyway, since the code points of the symbol fonts (as written in
	lib/symbols) are directly used.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15758 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-05 20:13:22 +00:00
Georg Baum
b67e933869 Fix thinko in Buffer::makeLaTeXFile
* src/encoding.[Ch]
	(getEncoding): rename to getFromLyXName
	(getFromLaTeXName): new, it does what the name says

	* src/buffer.C
	(Buffer::makeLaTeXFile): Fix crash by using getFromLaTeXName instead
	of getFromLyXName.
	Avoid crash for unknown encodings.

	* src/language.C
	(Languages::read): Adjust to name change above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15703 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-03 10:35:41 +00:00
Georg Baum
fa1856440c Restore inputenc support
* src/encoding.h
	(encoding_table): remove, this is no longer needed with unicode
	(iconvName_): new member: name of the encoding in iconv syntax

	* src/exporter.C
	(Exporter::Export): Use return value of Buffer::makeLaTeXFile

	* src/buffer.[Ch]
	(Buffer::makeLaTeXFile): return whether the file has been created
	successfully

	* src/buffer.C
	(Buffer::makeLaTeXFile): Use a docstream that converts to the correct
	encoding
	Display an error dialog is something went wrong

	* src/bufferparams.C
	(BufferParams::writeLaTeX): Undo the utf8 inputenc hack

	* src/frontends/qt4/QDocumentDialog.C: Add some FIXMEs

	* src/support/unicode.[Ch]
	(eightbit_to_ucs4): New conversion function
	(ucs4_to_eightbit): New conversion function

	* src/support/docstream.[Ch]
	(utf8_codecvt_facet_exception): Move to header and rename to
	iconv_codecvt_facet_exception
	(odocfstream): Take the encoding as argument

	* src/support/docstream.C
	(utf8_codecvt_facet): Generalize to other encodings than utf8 and
	rename to iconv_codecvt_facet

	* src/encoding.C: Remove obsolete tables

	* src/output_latex.C
	(TeXOnePar): Convert the paragraph to different encoding if needed

	* lib/encodings: Remove obsolete tables


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15564 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 15:01:45 +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
Jean-Marc Lasgouttes
c1cd75a877 * src/lyx_main.C (readRcFile): do not report an error if file is not
found. 
	(init): read lyxrc.dist before lyxrc.defaults; remove code to read
	lyxrc (LyX 1.1.5 compatibility code).

	* src/encoding.C (read): 
	* src/language.C (read): set debug to the INFO channel.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13788 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-02 12:53:48 +00:00
Lars Gullik Bjønnes
cf4293824f * Change several freestanding and class methods with first letter
capitalized to have first letter lowercased.
* Adjust all affected files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13605 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 00:26:19 +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
ecaf48dc26 Forward declare LatexRunParams in converter.h.
Remove #include "lyxrc.h" from encoding.h.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7700 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-06 23:36:02 +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
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
13349032cb ws changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5758 a592a061-630c-0410-9148-cb99ea01b6c8
2002-12-01 22:59:25 +00:00
Dekel Tsur
467b0c0913 Patch from Isam Bayazidi
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5718 a592a061-630c-0410-9148-cb99ea01b6c8
2002-11-25 21:29:21 +00:00
Jean-Marc Lasgouttes
1dc25c472f time to recompile everything: I removed #include directives from headers here and there... Not sure what the net effect is, but it cannot be worse
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4736 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-21 21:21:06 +00:00
Angus Leeming
9548351ef8 Compaq cxx 6.5 will now compile lyx.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4349 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-10 07:57:39 +00:00
Lars Gullik Bjønnes
8283e978f8 ws cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3803 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-21 17:27:08 +00:00
Dekel Tsur
094ce1115b tiny change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2498 a592a061-630c-0410-9148-cb99ea01b6c8
2001-08-13 12:47:33 +00:00
Lars Gullik Bjønnes
a0bf0835e5 more funcs to lowerchar, adjust
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2428 a592a061-630c-0410-9148-cb99ea01b6c8
2001-08-06 19:12:46 +00:00
Lars Gullik Bjønnes
6396f9a204 small changes read changelog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2221 a592a061-630c-0410-9148-cb99ea01b6c8
2001-07-12 11:11:10 +00:00
Lars Gullik Bjønnes
83acbbd523 update copyright year
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2072 a592a061-630c-0410-9148-cb99ea01b6c8
2001-05-30 13:53:44 +00:00
Lars Gullik Bjønnes
fc8465aa1f use anon namespace, somewhat better comp. handling of minipages, not quite there yet
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1795 a592a061-630c-0410-9148-cb99ea01b6c8
2001-03-20 01:22:46 +00:00
Allan Rae
ba01a232ea Angus's FormInset work; Dekel's languages patch; my reworking of Angus's stuff + other xforms cleanup; No guarantee I got the kde or gnome stuff right wrt updateBufferDependent
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1110 a592a061-630c-0410-9148-cb99ea01b6c8
2000-10-13 05:57:05 +00:00
Jean-Marc Lasgouttes
bd659b25fb Dekel language/encoding patch + a few fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1096 a592a061-630c-0410-9148-cb99ea01b6c8
2000-10-10 12:36:36 +00:00
Lars Gullik Bjønnes
83882f6d92 export patch from Dekel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1001 a592a061-630c-0410-9148-cb99ea01b6c8
2000-09-05 13:16:19 +00:00
Lars Gullik Bjønnes
4d3288c95b more NEW_INSETS changes, define NEW_MANUBAR as default some other changes, read ChangeLog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@915 a592a061-630c-0410-9148-cb99ea01b6c8
2000-07-24 21:49:58 +00:00
Jean-Marc Lasgouttes
4b2a999762 GUI-indep toolbar and menus mostly work !
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@913 a592a061-630c-0410-9148-cb99ea01b6c8
2000-07-24 13:53:19 +00:00
Lars Gullik Bjønnes
2984f46a03 encoding + etc patch from dekel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@904 a592a061-630c-0410-9148-cb99ea01b6c8
2000-07-20 10:04:27 +00:00
Lars Gullik Bjønnes
b51e368b2b encoding patch and mousewheelpatch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@858 a592a061-630c-0410-9148-cb99ea01b6c8
2000-07-04 20:32:37 +00:00