Everything is ok while reading the file, but when the lyxfile is written, only the first byte of a double-byte character is written to the file. This is because t.character() is sort of defined as cs_[0] in which cs_ is a docstring. This thus seems to fail for multi-byte characters.
Compare with src\tex2lyx\text.cpp line: 1250.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32441 a592a061-630c-0410-9148-cb99ea01b6c8
to FontInfo.*
This allows tex2lyx to use the plain FontInfo object (via Layout), and to remove
several '#ifdef TEX2LYX' in the code
Reorder a bit the makefile in tex2lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31772 a592a061-630c-0410-9148-cb99ea01b6c8
- when languages are given in the documentclass options _and_ the babel options, babel takes the last language option of the \usepackage call
- there is no quote language "ngerman", it is in both cases "german"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31685 a592a061-630c-0410-9148-cb99ea01b6c8
This can be seen by trying out the document attached to ticket #6142.
The problem was that handle_opt() is not used only to parse languages,
and thus setting a lang-related bool in there is asking for trouble.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31440 a592a061-630c-0410-9148-cb99ea01b6c8
assertion when Qt is compiled in debug mode, and simply directly perform
an emergency cleanup when a shutdown event occurs on Windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31029 a592a061-630c-0410-9148-cb99ea01b6c8
- better whitespace preamble output (still not perfect)
- support for fileformat 258
- proper solution how to treat LyX specific preamble stuff; this solves long standing issues (the old solution failed when more than one LyX specific command was used in a file)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30103 a592a061-630c-0410-9148-cb99ea01b6c8
- the code for \clear***page was already there
- tex2lyx allows already to use any input encoding
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30096 a592a061-630c-0410-9148-cb99ea01b6c8
- correct the conversion of InsetCommand
- code optimization
- support for format 253: nomenclature is now recognized
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30093 a592a061-630c-0410-9148-cb99ea01b6c8
- support for url, varioref, prettyref
- reduce the sometimes huge amount of whitespace in the preamble after importing files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30058 a592a061-630c-0410-9148-cb99ea01b6c8
Make several Parser methods return copies of tokens, because the
vector containing the token may get reallocated when it grows.
Revert now useless changeset 29557.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29627 a592a061-630c-0410-9148-cb99ea01b6c8
DVI viewer passes back the resolved path, such that the search fails,
as internally LyX uses the unresolved path.
This patch fixes this bug by using the new method FileName::realPath
which resolves a path by getting rid of any '.', '..', or symlink
path components.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29476 a592a061-630c-0410-9148-cb99ea01b6c8
The problem was that \" was forgotten in the list of accents to check
in unicodesymbols (because it used to have its own german-centric derogatory
handling).
I took the Comprehensive LaTeX Symbols List (table 6) and added all the
missing accents.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29387 a592a061-630c-0410-9148-cb99ea01b6c8
- make it autogenerated
- clean up the markup
- remove obsolete information
- try to update in general
Hopefully I did not break the markup...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28871 a592a061-630c-0410-9148-cb99ea01b6c8
- fix thinko that caused tex2lyx to silently drop custom preamble entries in non-LyX-generated tex files.
(bug 5788). Patch from Jean-Marc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28567 a592a061-630c-0410-9148-cb99ea01b6c8
available to tex2lyx. The point is to move the crucial routines that
deal with modules out of BufferParams.cpp, which tex2lyx does not have,
and into TextClass.cpp, which it does.
This is all cleanup that makes a lot of sense independently.
Note that LayoutModuleList will shortly become a real class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28456 a592a061-630c-0410-9148-cb99ea01b6c8
This is overridden by any subsequent inputenc command.
The current encoding is also passed down to \input or \included files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28295 a592a061-630c-0410-9148-cb99ea01b6c8
as accents. Time will tell how robust this is.
All support for InsetLatexAccent has been removed.
I did not do the support for \inputencoding yet, because it is more difficult
to get right...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27596 a592a061-630c-0410-9148-cb99ea01b6c8
What works:
- parsing of inputenc should work
- \inputencoding is acted on in the preamble
What does not work:
- \inputencoding in the text
- all the corner cases I have not considered, and all buggy stuff in the
'what works' paragraph
- InsetLatexAccent are still created, but I do not know when they got added
to the code.
The only notable trick in the code is that I had to disable buffering. Otherwise
the whole text was read before I had a chance to change the encoding...
Finally I remove the artificial limitation that forbid
\usepackage[opt1,opt2]{package1,package2}
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27592 a592a061-630c-0410-9148-cb99ea01b6c8
read utf8 tex documents and translate them to lyxformat 249.
There is still no code to discover the encoding and use it, but it is the
easiest part (I hope).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27563 a592a061-630c-0410-9148-cb99ea01b6c8
Instead, new token are read when requested. The idea from now is
to be able to chenge encoding on the fly.
Now it is time to see whether idocstream actually works...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27489 a592a061-630c-0410-9148-cb99ea01b6c8
* autogen.sh: use autopoint to poulate the gettext code; simplify.
* po/Rules-lyx: move the LyX-specific code of the Makefile here.
* configure.ac: add magic incantation telling autopoint to import
gettext 0.16.1. Generate config.h in toplevel directory to please
gettext.
* src/tex2lyx/Makefile.am:
* src/client/Messages.cpp: compile fix
* remove all files that came from a gettext distribution.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25167 a592a061-630c-0410-9148-cb99ea01b6c8
- tey2lyx\test-structure.tex: add paper size document class option for testing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24791 a592a061-630c-0410-9148-cb99ea01b6c8
* Context.cpp (begin_layout): make it a (private) method, and output
the extra stuff here.
(add_par_extra_stuff): this is used for stuff that is only for next
paragraph (like extra_stuff used to be); add_extra_stuff is now for
code that is output for all paragraphs in the context.
* text.cpp: update to new Context methods. Every user of add_extra_stuff
uses add_par_extra_stuff, except alignment (which has to be repeated
to fix bug 4806).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24656 a592a061-630c-0410-9148-cb99ea01b6c8
The reverted features could (and should) be reapplied as soon as tex2lyx can output unicode (bug 4379).
The patch of this change can be found here:
http://bugzilla.lyx.org/show_bug.cgi?id=4379
and can be applied with -R in this case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24557 a592a061-630c-0410-9148-cb99ea01b6c8
- fix an off by one error in the font size handling, fixes bug 4803
- support \lyxline, fixes bug 4795
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24518 a592a061-630c-0410-9148-cb99ea01b6c8
- box-color.tex: testfile for tex2lyx to check if colors and boxes are correctly imported
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24403 a592a061-630c-0410-9148-cb99ea01b6c8
- make the man page a bit less outdated (bug 2770).
note that the page isn't really up to date yet. I didn't check anything thoroughly (especially the "what's supported" and "what's not supported" part). Uwe, maybe a job for you, as you are most familiar with it nowadays.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24386 a592a061-630c-0410-9148-cb99ea01b6c8
Abdel suggested it might be worth pimpl'ing the FloatList and Counter objects, to get the header dependencies back down.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23530 a592a061-630c-0410-9148-cb99ea01b6c8
We take the opportunity to make TextClass objects noncopyable, nonassignable, etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23526 a592a061-630c-0410-9148-cb99ea01b6c8
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
\makeatother and \makeatletter are already added by LyX around the user preamble
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22027 a592a061-630c-0410-9148-cb99ea01b6c8
Now support/* should have no dependencies on src/* anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
tex2lyx Version 0.1.5
Commands
- support for \lyxline
- fix for bug 27:
- support for \selectlanguage
- support for \foreignlanguage
- support for \inputencoding
- updated support for \printindex
- support for \printnomenclature
- updated support for \listof
- updated support for \tableofcontents
Environments
- support for hyperlink
- support for shaded note
- support for framed note
Preamble
- support for font settings
- updated preamble format to lyxformat 303
(tex2lyx will still use lyxformat 245 for a while)
- updated language support
- support for multi-language documents that use babel
(CJK follows later)
- fix bug 2310:
- support for document encoding
Packages
- support for esint
- updated support for amsmath
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21813 a592a061-630c-0410-9148-cb99ea01b6c8
- fileformat change
- tex2lyx support
- rename LFUN_BREAK_LINE to LFUN_NEW_LINE because this is what the lfun does and to avoid confusions
- new menu entry
- new shortcut C-S-Return
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21778 a592a061-630c-0410-9148-cb99ea01b6c8
introduce isReadableDirectory
replace isReadable by either isReadableFile or isReadableDirectory
remove isReadable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21769 a592a061-630c-0410-9148-cb99ea01b6c8
- support for \newline
- support for framed and shaded notes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21764 a592a061-630c-0410-9148-cb99ea01b6c8
- rename former "pagebreak" to "newpage" since it produces a \newpage
- new LFUN
- menu entry
- tex2lyx support
- fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21732 a592a061-630c-0410-9148-cb99ea01b6c8
Would be nice if people tested read/write, and Bo perhaps the 'embedded'
feature?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21492 a592a061-630c-0410-9148-cb99ea01b6c8
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx
I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
- rename the lfun to href-insert.png
- rename the files to Hyperlink...
- the former URLUi produces now \href commands (hyperref)
Only missing thing is the lyx2lyx conversion routine - this will be done by Richard
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20950 a592a061-630c-0410-9148-cb99ea01b6c8
- Modifier on return type ignored
- Ambigous else
- Ambigous logical operators
- Semi-colon instead of empty block
- Missing header files
- Missing using std::XX
- Initialization out of order
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20304 a592a061-630c-0410-9148-cb99ea01b6c8
* Layout.h:
- name_, obsoleted_by_, depends_on_ are now docstrings.
All other changes results from the above string -> docstring changes. In particular, we now try to translate the layout names only if possible (i.e. if they are ASCII only).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19042 a592a061-630c-0410-9148-cb99ea01b6c8
updated to support format >= 257 (with InsetCaption).
* src/Layout.cpp (forCaption): new method. Returns a pointer to a newly
allocated Layout suitable for representing a caption.
* src/tex2lyx/tex2lyx.cpp (tex2lyx): allocate a captionlayout object
* src/tex2lyx/text.cpp: use the captionlayout object to recognize the
\caption command.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18962 a592a061-630c-0410-9148-cb99ea01b6c8
- use internal_path (bug 3788), patch by Hangzai Luo and me).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18953 a592a061-630c-0410-9148-cb99ea01b6c8
if they are compatible (i.e. no optional arguments, no patterns)
* Recursive macros are also imported, but they only work correctly in the
limits of the current macro implementation in LyX
* Fixes http://bugzilla.lyx.org/show_bug.cgi?id=21
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18483 a592a061-630c-0410-9148-cb99ea01b6c8
\input{foo} means to input foo.tex, so add the .tex extension.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18470 a592a061-630c-0410-9148-cb99ea01b6c8
Remove all explicit 8bit characters from the source, to fix compilation
with windows xp under a chinese locale (bug 3496).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18256 a592a061-630c-0410-9148-cb99ea01b6c8
* src/output_plaintext.C
(writePlaintextParagraph): Use compare_ascii_no_case instead of
compare_no_case, since the strings to compare are pure ASCII anyway.
* src/frontends/qt4/QPrefsDialog.C
(setComboxFont): ditto
* src/MenuBackend.C
(Menu::checkShortcuts): ditto
* src/frontends/qt4/QLImage.C
(QLImage::loadableFormats): Use ascii_lowercase instead of lowercase
since the input is pure ASCII anyway.
* src/tex2lyx/text.C
(splitLatexLength): ditto
* src/support/lstrings.[Ch]
(compare_no_case): Get rid of both std::string variants
(lowercase): Get rid of std::string variant
(uppercase): Change std::string variant to docstring
* src/support/tests/regfiles/lstrings: Add new expected output
* src/support/tests/lstrings.C: Add tests for docstring functions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17371 a592a061-630c-0410-9148-cb99ea01b6c8
* ExceptionMessage: new exception based message for errors and warnings.
* package.C.in:
- replace lyxerr based errors and warning with ExceptionMessage throwing.
- bail_out(): erased!
* os_win32.C:
- replace lyxerr based errors and warning with ExceptionMessage throwing.
- bail_out(): erased!
* tex2lyx.C: catch any exception from Package class.
* lyx_main.C: catch any exception from Package class and act accordingly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16834 a592a061-630c-0410-9148-cb99ea01b6c8
Move OS dependent code where it belongs.
* src/lyx_cb.C:
Remove unused include
* src/support/os.h
* src/support/os_unix.C
* src/support/os_win32.C
* src/support/os_cygwin.C:
Move here the code from fontutils.[Ch]
* src/support/os_cygwin.C
(external_path, external_path_list): don't differentiate anymore
on Qt/X11 or Qt/Win builds.
* src/support/environment.C
(setEnvPath): get rid of the #ifdef for cygwin.
* src/lyx_main.C
(LyX::exec): addFontResources and restoreFontResources are now
in the os namespace.
* src/support/Makefile.am
* src/client/Makefile.am
* src/tex2lyx/Makefile.am
* development/scons/scons_manifest.py:
Updated
* src/support/fontutils.[Ch]:
Removed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16655 a592a061-630c-0410-9148-cb99ea01b6c8
instead of std::string
* src/support/lyxlib.h
* src/support/getcwd.C
(getcwd): return a FileName, not a std::string in filesystem encoding
* src/support/filetools.[Ch]
(makeAbsPath): return a FileName, not a std::string in undefined encoding
* src/support/lyxlib.h
* src/support/tempName.C
(makeAbsPath): return a FileName, not a std::string in undefined encoding
* many other files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16399 a592a061-630c-0410-9148-cb99ea01b6c8
needsUpdate() in src/lyx_main.C).
toFilesystemEncoding() is now used in all places where it is needed if I did
not forget anything.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16184 a592a061-630c-0410-9148-cb99ea01b6c8
headers and converting the gettext stuff in tex2lyx and client to use
docstring.
The interface must be defined by src/gettext.h anyway, so better use that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15740 a592a061-630c-0410-9148-cb99ea01b6c8
(readInset): Add comment about citation commands
* src/tex2lyx/text.C
(known_jurabib_commands): remove fullcite since LyX does not know it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15335 a592a061-630c-0410-9148-cb99ea01b6c8
* src/tex2lyx/text.C
(known_spaces): new, LaTeX names of known spaces
(known_coded_spaces): new, LyX names of known spaces
(parse_text): Recognize all known spaces
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14832 a592a061-630c-0410-9148-cb99ea01b6c8