]> git.lyx.org Git - features.git/commitdiff
Add file format change to support the standard font size for ext* family of textclasses
authorJosé Matox <jamatos@lyx.org>
Tue, 15 May 2007 23:31:47 +0000 (23:31 +0000)
committerJosé Matox <jamatos@lyx.org>
Tue, 15 May 2007 23:31:47 +0000 (23:31 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18358 a592a061-630c-0410-9148-cb99ea01b6c8

development/FORMAT
lib/lyx2lyx/LyX.py
lib/lyx2lyx/lyx_1_5.py
src/Buffer.cpp

index efecc7679d7f0a1919bbc0739b6526303e44d157..67aa63101b5e190d248d7f0fcab8310439d53ddf 100644 (file)
@@ -1,5 +1,8 @@
 LyX file-format changes
 -----------------------
+2007-05-15 José Matos <jamatos@lyx.org>
+       * format incremented to 271: extended textclasses accept the
+        normal font sizes: 10, 11 and 12pt.
 
 2007-05-14 Martin Vermeer <martin.vermeer@tkk.fi>
        * format incremented to 270: support beamer \alert, \structure
index 090ad03c06eb05d6e12f4a93f9bd37a4b6169894..35d32ad73cdf1d15480de019696340cc0c0cd7d6 100644 (file)
@@ -74,7 +74,7 @@ format_relation = [("0_06",    [200], generate_minor_versions("0.6" , 4)),
                    ("1_2",     [220], generate_minor_versions("1.2" , 4)),
                    ("1_3",     [221], generate_minor_versions("1.3" , 7)),
                    ("1_4", range(222,246), generate_minor_versions("1.4" , 4)),
-                   ("1_5", range(246,271), generate_minor_versions("1.5" , 0))]
+                   ("1_5", range(246,272), generate_minor_versions("1.5" , 0))]
 
 
 def formats_list():
index 9cbfc79d788e5530dcd578555d6704272c8570d2..898b0b90e634fb45d88278c2f58dc0cfb928dfa7 100644 (file)
@@ -1601,6 +1601,62 @@ lstinputlisting{file}[opt]
                                     r'\end_inset']
 
 
+def revert_ext_font_sizes(document):
+    if document.backend != "latex": return
+    if not document.textclass.startswith("ext"): return
+
+    fontsize = get_value(document.header, '\\paperfontsize', 0)
+    if fontsize not in ('10', '11', '12'): return
+    fontsize += 'pt'
+
+    i = find_token(document.header, '\\paperfontsize', 0)
+    document.header[i] = '\\paperfontsize default'
+
+    i = find_token(document.header, '\\options', 0)
+    if i == -1:
+        i = find_token(document.header, '\\textclass', 0) + 1
+        document.header[i:i] = ['\\options %s' % fontsize]
+    else:
+        document.header[i] += ',%s' % fontsize
+
+
+def convert_ext_font_sizes(document):
+    if document.backend != "latex": return
+    if not document.textclass.startswith("ext"): return
+
+    fontsize = get_value(document.header, '\\paperfontsize', 0)
+    if fontsize != 'default': return
+
+    i = find_token(document.header, '\\options', 0)
+    if i == -1: return
+
+    options = get_value(document.header, '\\options', i)
+
+    fontsizes = '10pt', '11pt', '12pt'
+    for fs in fontsizes:
+        if options.find(fs) != -1:
+            break
+    else: # this else will only be attained if the for cycle had no match
+        return
+
+    options = options.split(',')
+    for j, opt in enumerate(options):
+        if opt in fontsizes:
+            fontsize = opt[:-2]
+            del options[j]
+            break
+    else:
+        return
+
+    k = find_token(document.header, '\\paperfontsize', 0)
+    document.header[k] = '\\paperfontsize %s' % fontsize
+
+    if options:
+        document.header[i] = '\\options %s' % ','.join(options)
+    else:
+        del document.header[i]
+
+
 ##
 # Conversion hub
 #
@@ -1630,9 +1686,13 @@ convert = [[246, []],
            [267, []],
            [268, []],
            [269, []],
-           [270, []]]
+           [270, []],
+           [271, [convert_ext_font_sizes]]
+          ]
 
-revert =  [[269, [revert_beamer_alert, revert_beamer_structure]],
+revert =  [
+           [270, [revert_ext_font_sizes]],
+           [269, [revert_beamer_alert, revert_beamer_structure]],
            [268, [revert_preamble_listings_params, revert_listings_inset, revert_include_listings]],
            [267, [revert_CJK]],
            [266, [revert_utf8plain]],
index ee4275b5d18d00d8853360e1c65e87cc5fe04651..3e60932d7ef1c13a9db2276cf970293ee08477ef 100644 (file)
@@ -3,7 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -141,7 +141,7 @@ using std::string;
 
 namespace {
 
-int const LYX_FORMAT = 270;
+int const LYX_FORMAT = 271;
 
 } // namespace anon