]> git.lyx.org Git - features.git/commitdiff
add pure ASCII encoding for LaTeX export
authorGeorg Baum <Georg.Baum@post.rwth-aachen.de>
Fri, 16 Feb 2007 18:29:48 +0000 (18:29 +0000)
committerGeorg Baum <Georg.Baum@post.rwth-aachen.de>
Fri, 16 Feb 2007 18:29:48 +0000 (18:29 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17224 a592a061-630c-0410-9148-cb99ea01b6c8

development/FORMAT
lib/encodings
lib/lyx2lyx/LyX.py
lib/lyx2lyx/lyx_1_5.py
src/buffer.C
src/bufferparams.C
src/encoding.C
src/output_latex.C

index 4949e868cc214969882406817d18c373d3f55740..6c13a96444ec903198b137f41a5d5407c71f168d 100644 (file)
@@ -1,6 +1,10 @@
 LyX file-format changes
 -----------------------ยง
 
+2007-02-16  Georg Baum  <Georg.Baum@post.rwth-aachen.de>
+
+       * format incremented to 260: Allow ascii \inputencoding
+
 2007-02-14  Georg Baum  <Georg.Baum@post.rwth-aachen.de>
 
        * format incremented to 261: \output_changes is now considered
index db90f31121d7be5605b4a9c29c0934585ecb196a..1c60fc7ececab78b494aff141f244290de120cce 100644 (file)
@@ -114,3 +114,7 @@ End
 
 Encoding pt254 pt254 PT254
 End
+
+# Pure 7bit ASCII encoding (partially hardcoded in LyX)
+Encoding ascii ascii ascii
+End
index 1b1ba26ed1a157f68efbe19ec9b1e7a61810b457..306b736be530064ca39a5e82272148ff243e0dd8 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" , 3)),
-                   ("1_5", range(246,262), generate_minor_versions("1.5" , 0))]
+                   ("1_5", range(246,263), generate_minor_versions("1.5" , 0))]
 
 
 def formats_list():
index e6120b929f8aa59db1b06930a7cd6f9d74d32998..48150cd7678c7c2a21002e0e7d9b4cbebf478fc8 100644 (file)
@@ -1210,6 +1210,18 @@ def convert_changes(document):
         document.header[j] = "\\output_changes false"
 
 
+def revert_ascii(document):
+    " Set ascii encoding to auto. "
+    i = find_token(document.header, "\\inputencoding", 0)
+    if i == -1:
+        document.header.append("\\inputencoding auto")
+    else:
+        inputenc = get_value(document.header, "\\inputencoding", i)
+        if inputenc == "ascii":
+            document.header[i] = "\\inputencoding auto"
+    document.inputencoding = get_value(document.header, "\\inputencoding", 0)
+
+
 ##
 # Conversion hub
 #
@@ -1230,9 +1242,11 @@ convert = [[246, []],
            [258, [convert_lyxline]],
            [259, [convert_accent, normalize_font_whitespace]],
            [260, []],
-           [261, [convert_changes]]]
+           [261, [convert_changes]],
+           [262, []]]
 
-revert =  [[260, []],
+revert =  [[261, [revert_ascii]],
+           [260, []],
            [259, [revert_utf8x]],
            [258, []],
            [257, []],
index ed2075a07d3a9313a54e52c30a0d615a245fb42e..11a3df0cc7fe155a8fc7d7029be7e199a77e8802 100644 (file)
@@ -141,7 +141,7 @@ using std::string;
 
 namespace {
 
-int const LYX_FORMAT = 261;
+int const LYX_FORMAT = 262;
 
 } // namespace anon
 
index 03d3758a838f571d0b87f5540ea65df762006cc7..d7e58ef4d7cf6d3351cf5dc8703ae7b0a827fe94 100644 (file)
@@ -876,7 +876,8 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features,
                        os << "]{inputenc}\n";
                        texrow.newline();
                }
-       } else if (inputenc != "default" && inputenc != "tis620-0") {
+       } else if (inputenc != "default" && inputenc != "tis620-0" &&
+                  inputenc != "ascii") {
                os << "\\usepackage[" << from_ascii(inputenc)
                   << "]{inputenc}\n";
                texrow.newline();
index 985f5bb98a7fa4bb2e57fbbe58ca45b67e02ee56..0c0e678d470a8adc107b6b763c1672818d6d7e18 100644 (file)
@@ -211,6 +211,9 @@ CharInfoMap unicodesymbols;
 Encoding::Encoding(string const & n, string const & l, string const & i)
        : Name_(n), LatexName_(l), iconvName_(i)
 {
+       if (n == "ascii")
+               // ASCII can encode 128 code points and nothing else
+               start_encodable_ = 128;
        if (n == "utf8" || n == "utf8x")
                // UTF8 can encode all 1<<20 + 1<<16 UCS4 code points
                start_encodable_ = 0x110000;
index 51843b701901521d056d67f46a75775759f042ec..fa96ec758b3fadb24a8307b899e63ef2636b1b6a 100644 (file)
@@ -592,6 +592,7 @@ int switchEncoding(odocstream & os, BufferParams const & bparams,
        // only, but it is the best we can do.
        if ((bparams.inputenc == "auto" || bparams.inputenc == "default") &&
            oldEnc.name() != newEnc.name() &&
+           oldEnc.name() != "ascii" && newEnc.name() != "ascii" &&
            oldEnc.name() != "tis620-0" && newEnc.name() != "tis620-0") {
                lyxerr[Debug::LATEX] << "Changing LaTeX encoding from "
                                     << oldEnc.name() << " to "