From ea89f604bfdbbfba8fa9f42179cd793b6b91c8d4 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Fri, 30 Aug 2019 08:09:57 +0200 Subject: [PATCH] Fix encoding in aa class, which is preset via class options Hook into nearby file format change. --- development/FORMAT | 5 +++- lib/layouts/aa.layout | 2 +- lib/lyx2lyx/lyx_2_4.py | 55 ++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 58 insertions(+), 4 deletions(-) diff --git a/development/FORMAT b/development/FORMAT index 93c0043f35..73d80650d9 100644 --- a/development/FORMAT +++ b/development/FORMAT @@ -160,12 +160,15 @@ changes happened in particular if possible. A good example would be This builds on an extension of the natbib CiteEngine by tufte. 2018-05-10 Jürgen Spitzmüller - * format incremented to 552: support for float alignment + Format incremented to 552: + * support for float alignment - add buffer param \float_alignment [class|left|center|right] - add buffer param \float_placement class - add float param alignment [class|document|left|center|right] - add float param placement class (=> new param) - add float param placement document(=> like formerly empty param) + * adapt class options in aa class documents to latin9 > utf8 default + encoding change. 2018-05-06 Jürgen Spitzmüller * format incremented to 551: add font info param \nospellcheck that prevents diff --git a/lib/layouts/aa.layout b/lib/layouts/aa.layout index 62b73b7859..ce5ac2e77b 100644 --- a/lib/layouts/aa.layout +++ b/lib/layouts/aa.layout @@ -30,7 +30,7 @@ Provides inputenc 1 Provides natbib 1 ClassOptions - Other latin9 + Other utf8 End Style Standard diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py index 40a1f3dfdb..5cdcc3c692 100644 --- a/lib/lyx2lyx/lyx_2_4.py +++ b/lib/lyx2lyx/lyx_2_4.py @@ -792,6 +792,57 @@ def revert_tuftecite(document): i = j +def convert_aaencoding(document): + " Convert default document option due to encoding change in aa class. " + + if document.textclass != "aa": + return + + i = 0 + + i = find_token(document.header, "\\use_default_options true", i) + if i == -1: + return + j = find_token(document.header, "\\inputencoding", 0) + if j == -1: + document.warning("Malformed LyX Document! Missing \\inputencoding header.") + return + val = get_value(document.header, "\\inputencoding", j) + if val == "auto" or val == "latin9": + document.header[i] = "\\use_default_options false" + k = find_token(document.header, "\\options", 0) + if k == -1: + document.header.insert(i, "\\options latin9") + else: + document.header[k] = document.header[k] + ",latin9" + + +def revert_aaencoding(document): + " Revert default document option due to encoding change in aa class. " + + if document.textclass != "aa": + return + + i = 0 + + i = find_token(document.header, "\\use_default_options true", i) + if i == -1: + return + j = find_token(document.header, "\\inputencoding", 0) + if j == -1: + document.warning("Malformed LyX Document! Missing \\inputencoding header.") + return + val = get_value(document.header, "\\inputencoding", j) + if val == "utf8": + document.header[i] = "\\use_default_options false" + k = find_token(document.header, "\\options", 0) + if k == -1: + document.header.insert(i, "\\options utf8") + else: + document.header[k] = document.header[k] + ",utf8" + + + def revert_stretchcolumn(document): " We remove the column varwidth flags or everything else will become a mess. " i = 0 @@ -3598,7 +3649,7 @@ convert = [ [549, []], [550, [convert_fontenc]], [551, []], - [552, []], + [552, [convert_aaencoding]], [553, []], [554, []], [555, []], @@ -3675,7 +3726,7 @@ revert = [[588, [revert_totalheight]], [554, [revert_vcolumns]], [553, [revert_stretchcolumn]], [552, [revert_tuftecite]], - [551, [revert_floatpclass, revert_floatalignment]], + [551, [revert_floatpclass, revert_floatalignment, revert_aaencoding]], [550, [revert_nospellcheck]], [549, [revert_fontenc]], [548, []],# dummy format change -- 2.39.5