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
* 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
* 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
* 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
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
* 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
* 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
* 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
* 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
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
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