lyx_mirror/lib/lyx2lyx/lyx_1_5.py

614 lines
24 KiB
Python
Raw Normal View History

# This file is part of lyx2lyx
# -*- coding: utf-8 -*-
# Copyright (C) 2006 José Matos <jamatos@lyx.org>
# Copyright (C) 2004-2006 Georg Baum <Georg.Baum@post.rwth-aachen.de>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
""" Convert files to the file format generated by lyx 1.5"""
import re
from parser_tools import find_token, find_token_exact, find_tokens, find_end_of, get_value
from LyX import get_encoding
####################################################################
# Private helper functions
def find_end_of_inset(lines, i):
" Find beginning of inset, where lines[i] is included."
return find_end_of(lines, i, "\\begin_inset", "\\end_inset")
# End of helper functions
####################################################################
##
# Notes: Framed/Shaded
#
def revert_framed(document):
"Revert framed notes. "
i = 0
while 1:
i = find_tokens(document.body, ["\\begin_inset Note Framed", "\\begin_inset Note Shaded"], i)
if i == -1:
return
document.body[i] = "\\begin_inset Note"
i = i + 1
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
##
# Fonts
#
roman_fonts = {'default' : 'default', 'ae' : 'ae',
'times' : 'times', 'palatino' : 'palatino',
'helvet' : 'default', 'avant' : 'default',
'newcent' : 'newcent', 'bookman' : 'bookman',
'pslatex' : 'times'}
sans_fonts = {'default' : 'default', 'ae' : 'default',
'times' : 'default', 'palatino' : 'default',
'helvet' : 'helvet', 'avant' : 'avant',
'newcent' : 'default', 'bookman' : 'default',
'pslatex' : 'helvet'}
typewriter_fonts = {'default' : 'default', 'ae' : 'default',
'times' : 'default', 'palatino' : 'default',
'helvet' : 'default', 'avant' : 'default',
'newcent' : 'default', 'bookman' : 'default',
'pslatex' : 'courier'}
def convert_font_settings(document):
" Convert font settings. "
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
i = 0
i = find_token_exact(document.header, "\\fontscheme", i)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if i == -1:
document.warning("Malformed LyX document: Missing `\\fontscheme'.")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
return
font_scheme = get_value(document.header, "\\fontscheme", i, i + 1)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if font_scheme == '':
document.warning("Malformed LyX document: Empty `\\fontscheme'.")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_scheme = 'default'
if not font_scheme in roman_fonts.keys():
document.warning("Malformed LyX document: Unknown `\\fontscheme' `%s'." % font_scheme)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_scheme = 'default'
document.header[i:i+1] = ['\\font_roman %s' % roman_fonts[font_scheme],
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
'\\font_sans %s' % sans_fonts[font_scheme],
'\\font_typewriter %s' % typewriter_fonts[font_scheme],
'\\font_default_family default',
'\\font_sc false',
'\\font_osf false',
'\\font_sf_scale 100',
'\\font_tt_scale 100']
def revert_font_settings(document):
" Revert font settings. "
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
i = 0
insert_line = -1
fonts = {'roman' : 'default', 'sans' : 'default', 'typewriter' : 'default'}
for family in 'roman', 'sans', 'typewriter':
name = '\\font_%s' % family
i = find_token_exact(document.header, name, i)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if i == -1:
document.warning("Malformed LyX document: Missing `%s'." % name)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
i = 0
else:
if (insert_line < 0):
insert_line = i
fonts[family] = get_value(document.header, name, i, i + 1)
del document.header[i]
i = find_token_exact(document.header, '\\font_default_family', i)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if i == -1:
document.warning("Malformed LyX document: Missing `\\font_default_family'.")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_default_family = 'default'
else:
font_default_family = get_value(document.header, "\\font_default_family", i, i + 1)
del document.header[i]
i = find_token_exact(document.header, '\\font_sc', i)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if i == -1:
document.warning("Malformed LyX document: Missing `\\font_sc'.")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_sc = 'false'
else:
font_sc = get_value(document.header, '\\font_sc', i, i + 1)
del document.header[i]
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if font_sc != 'false':
document.warning("Conversion of '\\font_sc' not yet implemented.")
i = find_token_exact(document.header, '\\font_osf', i)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if i == -1:
document.warning("Malformed LyX document: Missing `\\font_osf'.")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_osf = 'false'
else:
font_osf = get_value(document.header, '\\font_osf', i, i + 1)
del document.header[i]
i = find_token_exact(document.header, '\\font_sf_scale', i)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if i == -1:
document.warning("Malformed LyX document: Missing `\\font_sf_scale'.")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_sf_scale = '100'
else:
font_sf_scale = get_value(document.header, '\\font_sf_scale', i, i + 1)
del document.header[i]
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if font_sf_scale != '100':
document.warning("Conversion of '\\font_sf_scale' not yet implemented.")
i = find_token_exact(document.header, '\\font_tt_scale', i)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if i == -1:
document.warning("Malformed LyX document: Missing `\\font_tt_scale'.")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_tt_scale = '100'
else:
font_tt_scale = get_value(document.header, '\\font_tt_scale', i, i + 1)
del document.header[i]
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if font_tt_scale != '100':
document.warning("Conversion of '\\font_tt_scale' not yet implemented.")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
for font_scheme in roman_fonts.keys():
if (roman_fonts[font_scheme] == fonts['roman'] and
sans_fonts[font_scheme] == fonts['sans'] and
typewriter_fonts[font_scheme] == fonts['typewriter']):
document.header.insert(insert_line, '\\fontscheme %s' % font_scheme)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if font_default_family != 'default':
document.preamble.append('\\renewcommand{\\familydefault}{\\%s}' % font_default_family)
if font_osf == 'true':
document.warning("Ignoring `\\font_osf = true'")
return
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_scheme = 'default'
document.header.insert(insert_line, '\\fontscheme %s' % font_scheme)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if fonts['roman'] == 'cmr':
document.preamble.append('\\renewcommand{\\rmdefault}{cmr}')
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if font_osf == 'true':
document.preamble.append('\\usepackage{eco}')
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
font_osf = 'false'
for font in 'lmodern', 'charter', 'utopia', 'beraserif', 'ccfonts', 'chancery':
if fonts['roman'] == font:
document.preamble.append('\\usepackage{%s}' % font)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
for font in 'cmss', 'lmss', 'cmbr':
if fonts['sans'] == font:
document.preamble.append('\\renewcommand{\\sfdefault}{%s}' % font)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
for font in 'berasans':
if fonts['sans'] == font:
document.preamble.append('\\usepackage{%s}' % font)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
for font in 'cmtt', 'lmtt', 'cmtl':
if fonts['typewriter'] == font:
document.preamble.append('\\renewcommand{\\ttdefault}{%s}' % font)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
for font in 'courier', 'beramono', 'luximono':
if fonts['typewriter'] == font:
document.preamble.append('\\usepackage{%s}' % font)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if font_default_family != 'default':
document.preamble.append('\\renewcommand{\\familydefault}{\\%s}' % font_default_family)
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
if font_osf == 'true':
document.warning("Ignoring `\\font_osf = true'")
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
def revert_booktabs(document):
" We remove the booktabs flag or everything else will become a mess. "
re_row = re.compile(r'^<row.*space="[^"]+".*>$')
re_tspace = re.compile(r'\s+topspace="[^"]+"')
re_bspace = re.compile(r'\s+bottomspace="[^"]+"')
re_ispace = re.compile(r'\s+interlinespace="[^"]+"')
i = 0
while 1:
i = find_token(document.body, "\\begin_inset Tabular", i)
if i == -1:
return
j = find_end_of_inset(document.body, i + 1)
if j == -1:
document.warning("Malformed LyX document: Could not find end of tabular.")
continue
for k in range(i, j):
if re.search('^<features.* booktabs="true".*>$', document.body[k]):
document.warning("Converting 'booktabs' table to normal table.")
document.body[k] = document.body[k].replace(' booktabs="true"', '')
if re.search(re_row, document.body[k]):
document.warning("Removing extra row space.")
document.body[k] = re_tspace.sub('', document.body[k])
document.body[k] = re_bspace.sub('', document.body[k])
document.body[k] = re_ispace.sub('', document.body[k])
i = i + 1
def convert_utf8(document):
document.encoding = "utf8"
def revert_utf8(document):
i = find_token(document.header, "\\inputencoding", 0)
if i == -1:
document.header.append("\\inputencoding auto")
elif get_value(document.header, "\\inputencoding", i) == "utf8":
document.header[i] = "\\inputencoding auto"
document.inputencoding = get_value(document.header, "\\inputencoding", 0)
document.encoding = get_encoding(document.language, document.inputencoding, 248)
def revert_cs_label(document):
" Remove status flag of charstyle label. "
i = 0
while 1:
i = find_token(document.body, "\\begin_inset CharStyle", i)
if i == -1:
return
# Seach for a line starting 'show_label'
# If it is not there, break with a warning message
i = i + 1
while 1:
if (document.body[i][:10] == "show_label"):
del document.body[i]
break
elif (document.body[i][:13] == "\\begin_layout"):
document.warning("Malformed LyX document: Missing 'show_label'.")
break
i = i + 1
i = i + 1
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
def convert_bibitem(document):
""" Convert
\bibitem [option]{argument}
to
\begin_inset LatexCommand bibitem
label "option"
key "argument"
\end_inset
This must be called after convert_commandparams.
"""
regex = re.compile(r'\S+\s*(\[[^\[\{]*\])?(\{[^}]*\})')
i = 0
while 1:
i = find_token(document.body, "\\bibitem", i)
if i == -1:
break
match = re.match(regex, document.body[i])
option = match.group(1)
argument = match.group(2)
lines = ['\\begin_inset LatexCommand bibitem']
if option != None:
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
lines.append('label "%s"' % option[1:-1].replace('"', '\\"'))
lines.append('key "%s"' % argument[1:-1].replace('"', '\\"'))
lines.append('')
lines.append('\\end_inset')
document.body[i:i+1] = lines
i = i + 1
commandparams_info = {
# command : [option1, option2, argument]
"bibitem" : ["label", "", "key"],
"bibtex" : ["options", "btprint", "bibfiles"],
"cite" : ["after", "before", "key"],
"citet" : ["after", "before", "key"],
"citep" : ["after", "before", "key"],
"citealt" : ["after", "before", "key"],
"citealp" : ["after", "before", "key"],
"citeauthor" : ["after", "before", "key"],
"citeyear" : ["after", "before", "key"],
"citeyearpar" : ["after", "before", "key"],
"citet*" : ["after", "before", "key"],
"citep*" : ["after", "before", "key"],
"citealt*" : ["after", "before", "key"],
"citealp*" : ["after", "before", "key"],
"citeauthor*" : ["after", "before", "key"],
"Citet" : ["after", "before", "key"],
"Citep" : ["after", "before", "key"],
"Citealt" : ["after", "before", "key"],
"Citealp" : ["after", "before", "key"],
"Citeauthor" : ["after", "before", "key"],
"Citet*" : ["after", "before", "key"],
"Citep*" : ["after", "before", "key"],
"Citealt*" : ["after", "before", "key"],
"Citealp*" : ["after", "before", "key"],
"Citeauthor*" : ["after", "before", "key"],
"citefield" : ["after", "before", "key"],
"citetitle" : ["after", "before", "key"],
"cite*" : ["after", "before", "key"],
"hfill" : ["", "", ""],
"index" : ["", "", "name"],
"printindex" : ["", "", "name"],
"label" : ["", "", "name"],
"eqref" : ["name", "", "reference"],
"pageref" : ["name", "", "reference"],
"prettyref" : ["name", "", "reference"],
"ref" : ["name", "", "reference"],
"vpageref" : ["name", "", "reference"],
"vref" : ["name", "", "reference"],
"tableofcontents" : ["", "", "type"],
"htmlurl" : ["name", "", "target"],
"url" : ["name", "", "target"]}
def convert_commandparams(document):
""" Convert
\begin_inset LatexCommand \cmdname[opt1][opt2]{arg}
\end_inset
to
\begin_inset LatexCommand cmdname
name1 "opt1"
name2 "opt2"
name3 "arg"
\end_inset
name1, name2 and name3 can be different for each command.
"""
# \begin_inset LatexCommand bibitem was not the official version (see
# convert_bibitem()), but could be read in, so we convert it here, too.
# FIXME: Handle things like \command[foo[bar]]{foo{bar}}
# we need a real parser here.
regex = re.compile(r'\\([^\[\{]+)(\[[^\[\{]*\])?(\[[^\[\{]*\])?(\{[^}]*\})?')
i = 0
while 1:
i = find_token(document.body, "\\begin_inset LatexCommand", i)
if i == -1:
break
command = document.body[i][26:].strip()
if command == "":
document.warning("Malformed LyX document: Missing LatexCommand name.")
i = i + 1
continue
# The following parser is taken from the original InsetCommandParams::scanCommand
name = ""
option1 = ""
option2 = ""
argument = ""
state = "WS"
# Used to handle things like \command[foo[bar]]{foo{bar}}
nestdepth = 0
b = 0
for c in command:
if ((state == "CMDNAME" and c == ' ') or
(state == "CMDNAME" and c == '[') or
(state == "CMDNAME" and c == '{')):
state = "WS"
if ((state == "OPTION" and c == ']') or
(state == "SECOPTION" and c == ']') or
(state == "CONTENT" and c == '}')):
if nestdepth == 0:
state = "WS"
else:
--nestdepth
if ((state == "OPTION" and c == '[') or
(state == "SECOPTION" and c == '[') or
(state == "CONTENT" and c == '{')):
++nestdepth
if state == "CMDNAME":
name += c
elif state == "OPTION":
option1 += c
elif state == "SECOPTION":
option2 += c
elif state == "CONTENT":
argument += c
elif state == "WS":
if c == '\\':
state = "CMDNAME"
elif c == '[' and b != ']':
state = "OPTION"
nestdepth = 0 # Just to be sure
elif c == '[' and b == ']':
state = "SECOPTION"
nestdepth = 0 # Just to be sure
elif c == '{':
state = "CONTENT"
nestdepth = 0 # Just to be sure
b = c
# Now we have parsed the command, output the parameters
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
lines = ["\\begin_inset LatexCommand %s" % name]
if option1 != "":
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
if commandparams_info[name][0] == "":
document.warning("Ignoring invalid option `%s' of command `%s'." % (option1, name))
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
else:
lines.append('%s "%s"' % (commandparams_info[name][0], option1.replace('"', '\\"')))
if option2 != "":
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
if commandparams_info[name][1] == "":
document.warning("Ignoring invalid second option `%s' of command `%s'." % (option2, name))
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
else:
lines.append('%s "%s"' % (commandparams_info[name][1], option2.replace('"', '\\"')))
if argument != "":
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
if commandparams_info[name][2] == "":
document.warning("Ignoring invalid argument `%s' of command `%s'." % (argument, name))
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
else:
lines.append('%s "%s"' % (commandparams_info[name][2], argument.replace('"', '\\"')))
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
document.body[i:i+1] = lines
i = i + 1
def revert_commandparams(document):
regex = re.compile(r'(\S+)\s+(.+)')
i = 0
while 1:
i = find_token(document.body, "\\begin_inset LatexCommand", i)
if i == -1:
break
name = document.body[i].split()[2]
j = find_end_of_inset(document.body, i + 1)
preview_line = ""
option1 = ""
option2 = ""
argument = ""
for k in range(i + 1, j):
match = re.match(regex, document.body[k])
if match:
pname = match.group(1)
pvalue = match.group(2)
if pname == "preview":
preview_line = document.body[k]
elif (commandparams_info[name][0] != "" and
pname == commandparams_info[name][0]):
option1 = pvalue.strip('"').replace('\\"', '"')
elif (commandparams_info[name][1] != "" and
pname == commandparams_info[name][1]):
option2 = pvalue.strip('"').replace('\\"', '"')
elif (commandparams_info[name][2] != "" and
pname == commandparams_info[name][2]):
argument = pvalue.strip('"').replace('\\"', '"')
elif document.body[k].strip() != "":
document.warning("Ignoring unknown contents `%s' in command inset %s." % (document.body[k], name))
if name == "bibitem":
if option1 == "":
lines = ["\\bibitem {%s}" % argument]
else:
lines = ["\\bibitem [%s]{%s}" % (option1, argument)]
else:
if option1 == "":
if option2 == "":
lines = ["\\begin_inset LatexCommand \\%s{%s}" % (name, argument)]
else:
lines = ["\\begin_inset LatexCommand \\%s[][%s]{%s}" % (name, option2, argument)]
else:
if option2 == "":
lines = ["\\begin_inset LatexCommand \\%s[%s]{%s}" % (name, option1, argument)]
else:
lines = ["\\begin_inset LatexCommand \\%s[%s][%s]{%s}" % (name, option1, option2, argument)]
if name != "bibitem":
if preview_line != "":
lines.append(preview_line)
lines.append('')
lines.append('\\end_inset')
document.body[i:j+1] = lines
i = j + 1
New nomenclature inset from Ugras * src/LyXAction.C (LyXAction::init): Add LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * src/insets/insetbase.C (build_translator): ditto * src/LaTeXFeatures.C (LaTeXFeatures::getPackages): Add nomencl * src/insets/insetnomencl.[Ch]: new insets InsetNomencl and InsetPrintNomencl * src/insets/insetbase.h: Add NOMENCL_CODE and NOMENCL_PRINT_CODE * src/insets/insetcommandparams.C (InsetCommandParams::findInfo): Add nomenclature and printnomenclature (InsetCommandParams::getCommand): Extend end of command protection to cover commands with only optional arguments like printnomenclature * src/insets/insetert.C (InsetERT::getStatus): disable LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * src/insets/Makefile.am: Add new files * src/frontends/qt4/Makefile.dialogs: ditto * src/frontends/qt4/Makefile.am: ditto * src/factory.C (createInset): Handle InsetNomencl and InsetPrintNomencl (readInset): ditto * src/buffer.C (LYX_FORMAT): increase * src/lyxfunc.C (LyXFunc::dispatch): Handle nomenclature * src/LaTeX.C (LaTeX::deleteFilesOnError): Delete .nls file (LaTeX::run): Run makeindex for nomenclature (LaTeX::runMakeIndex): handle nomenclature options (LaTeX::deplog): Recognize nomenclature file * src/frontends/qt4/QNomenclDialog.[Ch]: new * src/frontends/qt4/QNomencl.[Ch]: ditto * src/frontends/qt4/ui/QNomenclUi.ui: ditto * src/frontends/qt4/Dialogs.C (Dialogs::build): handle nomenclature dialog * src/text3.C (LyXText::dispatch): Handle LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT (LyXText::getStatus): Ditto * src/lfuns.h (kb_action): Add LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * lib/lyx2lyx/LyX.py (format_relation): Update 1.5 format range * lib/lyx2lyx/lyx_1_5.py (revert_nomenclature): New (revert_printnomenclature): ditto * lib/chkconfig.ltx: Test for nomencl package * lib/doc/LaTeXConfig.lyx.in: Add nomencl package * lib/doc/Extended.lyx: Add documentation for nomencl * lib/ui/stdtoolbars.ui (Toolbar "extra" "Extra"): Add nomencl-insert * lib/ui/classic.ui: Add nomencl-insert and nomencl-print * lib/ui/stdmenus.ui: ditto * development/scons/scons_manifest.py: Add new files * development/FORMAT: Describe new format git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15739 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 17:55:36 +00:00
def revert_nomenclature(document):
" Convert nomenclature entry to ERT. "
regex = re.compile(r'(\S+)\s+(.+)')
i = 0
use_nomencl = 0
while 1:
i = find_token(document.body, "\\begin_inset LatexCommand nomenclature", i)
if i == -1:
break
use_nomencl = 1
j = find_end_of_inset(document.body, i + 1)
preview_line = ""
symbol = ""
description = ""
prefix = ""
for k in range(i + 1, j):
match = re.match(regex, document.body[k])
if match:
name = match.group(1)
value = match.group(2)
if name == "preview":
preview_line = document.body[k]
elif name == "symbol":
symbol = value.strip('"').replace('\\"', '"')
elif name == "description":
description = value.strip('"').replace('\\"', '"')
elif name == "prefix":
prefix = value.strip('"').replace('\\"', '"')
elif document.body[k].strip() != "":
document.warning("Ignoring unknown contents `%s' in nomenclature inset." % document.body[k])
if prefix == "":
command = 'nomenclature{%s}{%s}' % (symbol, description)
else:
command = 'nomenclature[%s]{%s}{%s}' % (prefix, symbol, description)
document.body[i:j+1] = ['\\begin_inset ERT',
'status collapsed',
'',
'\\begin_layout %s' % document.default_layout,
'',
'',
'\\backslash',
command,
'\\end_layout',
'',
'\\end_inset']
i = i + 11
if use_nomencl and find_token(document.preamble, '\\usepackage{nomencl}[2005/09/22]', 0) == -1:
document.preamble.append('\\usepackage{nomencl}[2005/09/22]')
document.preamble.append('\\makenomenclature')
def revert_printnomenclature(document):
" Convert printnomenclature to ERT. "
regex = re.compile(r'(\S+)\s+(.+)')
i = 0
use_nomencl = 0
while 1:
i = find_token(document.body, "\\begin_inset LatexCommand printnomenclature", i)
if i == -1:
break
use_nomencl = 1
j = find_end_of_inset(document.body, i + 1)
preview_line = ""
labelwidth = ""
for k in range(i + 1, j):
match = re.match(regex, document.body[k])
if match:
name = match.group(1)
value = match.group(2)
if name == "preview":
preview_line = document.body[k]
elif name == "labelwidth":
labelwidth = value.strip('"').replace('\\"', '"')
elif document.body[k].strip() != "":
document.warning("Ignoring unknown contents `%s' in printnomenclature inset." % document.body[k])
if labelwidth == "":
command = 'nomenclature{}'
else:
command = 'nomenclature[%s]' % labelwidth
document.body[i:j+1] = ['\\begin_inset ERT',
'status collapsed',
'',
'\\begin_layout %s' % document.default_layout,
'',
'',
'\\backslash',
command,
'\\end_layout',
'',
'\\end_inset']
i = i + 11
if use_nomencl and find_token(document.preamble, '\\usepackage{nomencl}[2005/09/22]', 0) == -1:
document.preamble.append('\\usepackage{nomencl}[2005/09/22]')
document.preamble.append('\\makenomenclature')
##
# Conversion hub
#
supported_versions = ["1.5.0","1.5"]
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
convert = [[246, []],
[247, [convert_font_settings]],
[248, []],
[249, [convert_utf8]],
[250, []],
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
[251, []],
New nomenclature inset from Ugras * src/LyXAction.C (LyXAction::init): Add LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * src/insets/insetbase.C (build_translator): ditto * src/LaTeXFeatures.C (LaTeXFeatures::getPackages): Add nomencl * src/insets/insetnomencl.[Ch]: new insets InsetNomencl and InsetPrintNomencl * src/insets/insetbase.h: Add NOMENCL_CODE and NOMENCL_PRINT_CODE * src/insets/insetcommandparams.C (InsetCommandParams::findInfo): Add nomenclature and printnomenclature (InsetCommandParams::getCommand): Extend end of command protection to cover commands with only optional arguments like printnomenclature * src/insets/insetert.C (InsetERT::getStatus): disable LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * src/insets/Makefile.am: Add new files * src/frontends/qt4/Makefile.dialogs: ditto * src/frontends/qt4/Makefile.am: ditto * src/factory.C (createInset): Handle InsetNomencl and InsetPrintNomencl (readInset): ditto * src/buffer.C (LYX_FORMAT): increase * src/lyxfunc.C (LyXFunc::dispatch): Handle nomenclature * src/LaTeX.C (LaTeX::deleteFilesOnError): Delete .nls file (LaTeX::run): Run makeindex for nomenclature (LaTeX::runMakeIndex): handle nomenclature options (LaTeX::deplog): Recognize nomenclature file * src/frontends/qt4/QNomenclDialog.[Ch]: new * src/frontends/qt4/QNomencl.[Ch]: ditto * src/frontends/qt4/ui/QNomenclUi.ui: ditto * src/frontends/qt4/Dialogs.C (Dialogs::build): handle nomenclature dialog * src/text3.C (LyXText::dispatch): Handle LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT (LyXText::getStatus): Ditto * src/lfuns.h (kb_action): Add LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * lib/lyx2lyx/LyX.py (format_relation): Update 1.5 format range * lib/lyx2lyx/lyx_1_5.py (revert_nomenclature): New (revert_printnomenclature): ditto * lib/chkconfig.ltx: Test for nomencl package * lib/doc/LaTeXConfig.lyx.in: Add nomencl package * lib/doc/Extended.lyx: Add documentation for nomencl * lib/ui/stdtoolbars.ui (Toolbar "extra" "Extra"): Add nomencl-insert * lib/ui/classic.ui: Add nomencl-insert and nomencl-print * lib/ui/stdmenus.ui: ditto * development/scons/scons_manifest.py: Add new files * development/FORMAT: Describe new format git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15739 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 17:55:36 +00:00
[252, [convert_commandparams, convert_bibitem]],
[253, []]]
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
New nomenclature inset from Ugras * src/LyXAction.C (LyXAction::init): Add LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * src/insets/insetbase.C (build_translator): ditto * src/LaTeXFeatures.C (LaTeXFeatures::getPackages): Add nomencl * src/insets/insetnomencl.[Ch]: new insets InsetNomencl and InsetPrintNomencl * src/insets/insetbase.h: Add NOMENCL_CODE and NOMENCL_PRINT_CODE * src/insets/insetcommandparams.C (InsetCommandParams::findInfo): Add nomenclature and printnomenclature (InsetCommandParams::getCommand): Extend end of command protection to cover commands with only optional arguments like printnomenclature * src/insets/insetert.C (InsetERT::getStatus): disable LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * src/insets/Makefile.am: Add new files * src/frontends/qt4/Makefile.dialogs: ditto * src/frontends/qt4/Makefile.am: ditto * src/factory.C (createInset): Handle InsetNomencl and InsetPrintNomencl (readInset): ditto * src/buffer.C (LYX_FORMAT): increase * src/lyxfunc.C (LyXFunc::dispatch): Handle nomenclature * src/LaTeX.C (LaTeX::deleteFilesOnError): Delete .nls file (LaTeX::run): Run makeindex for nomenclature (LaTeX::runMakeIndex): handle nomenclature options (LaTeX::deplog): Recognize nomenclature file * src/frontends/qt4/QNomenclDialog.[Ch]: new * src/frontends/qt4/QNomencl.[Ch]: ditto * src/frontends/qt4/ui/QNomenclUi.ui: ditto * src/frontends/qt4/Dialogs.C (Dialogs::build): handle nomenclature dialog * src/text3.C (LyXText::dispatch): Handle LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT (LyXText::getStatus): Ditto * src/lfuns.h (kb_action): Add LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT * lib/lyx2lyx/LyX.py (format_relation): Update 1.5 format range * lib/lyx2lyx/lyx_1_5.py (revert_nomenclature): New (revert_printnomenclature): ditto * lib/chkconfig.ltx: Test for nomencl package * lib/doc/LaTeXConfig.lyx.in: Add nomencl package * lib/doc/Extended.lyx: Add documentation for nomencl * lib/ui/stdtoolbars.ui (Toolbar "extra" "Extra"): Add nomencl-insert * lib/ui/classic.ui: Add nomencl-insert and nomencl-print * lib/ui/stdmenus.ui: ditto * development/scons/scons_manifest.py: Add new files * development/FORMAT: Describe new format git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15739 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 17:55:36 +00:00
revert = [[252, [revert_nomenclature, revert_printnomenclature]],
[251, [revert_commandparams]],
Rework InsetCommandParams interface and file storage * src/insets/insetcommandparams.[Ch]: (operator[]): New, access a parameter (clear): New, clear all parameters (info_): New, stire info about this command (cmdname): Rename to name_ (contents, options, sec_options): Replace with params_. Parameters are now stored as docstring. (findInfo): New factor for command info for all commands (read, write): Use new syntax (parameter set and get methods): reimplemenmt for new parameter storage * src/insets/insetcommand.h (getParam): New, get a parameter (setParam): New, set a parameter (parameter set and get methods): Adjust to InsetCommandParams changes * src/insets/insetbibitem.[Ch] (write): Remove, not needed anymore (directWrite): ditto * src/insets/insetbibitem.C (InsetBibitem::read): Use InsetCommand::read * src/insets/insetref.C (InsetRef::latex): Use new InsetCommandParams interface * src/mathed/InsetMathHull.C (InsetMathHull::doDispatch): ditto * src/text3.C (LyXText::dispatch): ditto * src/factory.C (createInset): Create InsetCommandParams with command name (readInset): ditto (readInset): Remove error message for bibitem, since bibitem is now a normal command inset * src/buffer.C: Bump file format number * src/frontends/controllers/ControlCommand.[Ch] (ControlCommand): take an additional command name parameter * src/text.C (readParToken): Remove code for \bibitem * lib/lyx2lyx/LyX.py: Bump latest file format number * lib/lyx2lyx/lyx_1_5.py (convert_bibitem, convert_commandparams): new, convert to new format (revert_commandparams): new, convert to old format * development/FORMAT: document new format * many other files: Adjust to the changes above git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
[250, [revert_cs_label]],
[249, []],
[248, [revert_utf8]],
[247, [revert_booktabs]],
[246, [revert_font_settings]],
The Grand Font Selection Redesign: * lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM). * lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM). * lib/chkconfig.ltx: Test for newly supported font packages * lib/doc/LaTeXConfig.lyx.in: document newly supported font packages * lib/doc/UserGuide.lyx: document new UI. * lib/doc/Extended.lyx: update PostScript font documentation * development/FORMAT: document file format change 246->247. * src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans, tex_fonts_monospaced (with GUI equivalents). * src/buffer.C: Format up to 247. * src/bufferparams.C: new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily, fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale (LyXFont const BufferParams::getFont): consider switch of default family. (string const BufferParams::loadFonts): new method to get all the LaTeX font stuff done. * src/paragraph.C (LyXFont const Paragraph::getFont): (LyXFont const Paragraph::getLabelFont): (LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's default font * src/text.C (int LyXText::leftMargin): (int LyXText::rightMargin): user buffer's not textclass's default font * src/text2.C (LyXFont LyXText::getFont): (LyXFont LyXText::getLayoutFont): (LyXFont LyXText::getLabelFont): check if the family of the default document font has been customized. * src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM). * src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM). * src/frontends/qt3/Makefile.dialogs: add new FontModuleBase * src/frontends/qt3/ui/FontModuleBase.ui: new File * src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets * src/frontends/qt3/QDocument.C * src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/Makefile.dialogs: add new FontUi * src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui * src/frontends/qt4/ui/FontUi.ui: new File * src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets * src/frontends/qt4/ui/compile_uic.sh: add new FontUi * src/frontends/xforms/FormDocument.[Ch]: implement new font ui * src/frontends/xforms/forms/form_document.fd: add new font tab. * src/frontends/controllers/ControlDocument.[Ch] (char ControlDocument::fontfamilies): (char ControlDocument::fontfamilies_gui): (bool ControlDocument::isFontAvailable): (bool ControlDocument::providesSC): (bool ControlDocument::providesOSF): (bool ControlDocument::providesScale): new methods, providing font info. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-19 08:10:17 +00:00
[245, [revert_framed]]]
if __name__ == "__main__":
pass