Class ClassicI18n

java.lang.Object
writer2latex.latex.i18n.I18n
writer2latex.latex.i18n.ClassicI18n

public class ClassicI18n extends I18n
This class (and the helpers in the same package) takes care of i18n in Writer2LaTeX. In classic LaTeX, i18n is a mixture of inputencodings, fontencodings and babel languages. The class ClassicI18n thus manages these, and in particular implements a Unicode->LaTeX translation that can handle different inputencodings and fontencodings. The translation is table driven, using symbols.xml (embedded in the jar) Various sections of symbols.xml handles different cases:
  • common symbols in various font encodings such as T1, T2A, LGR etc.
  • input encodings such as ISO-8859-1 (latin-1), ISO-8859-7 (latin/greek) etc.
  • additional symbol fonts such as wasysym, dingbats etc.
  • font-specific symbols, eg. for 8-bit fonts/private use area
The class uses the packages inputenc, fontenc, babel, tipa, bbding, ifsym, pifont, eurosym, amsmath, wasysym, amssymb, amsfonts and textcomp in various combinations depending on the configuration.
  • Field Details

  • Constructor Details

    • ClassicI18n

      public ClassicI18n(OfficeReader ofr, LaTeXConfig config, ConverterPalette palette)
      Construct a new ClassicI18n as ConverterHelper
      Parameters:
      ofr - the OfficeReader to get language information from
      config - the configuration which determines the symbols to use
      palette - the ConverterPalette (unused)
    • ClassicI18n

      public ClassicI18n(LaTeXConfig config)
      Construct a new I18n for general use
      Parameters:
      config - the configuration which determines the symbols to use
  • Method Details

    • readInputenc

      public static final int readInputenc(String sInputenc)
    • writeInputenc

      public static final String writeInputenc(int nInputenc)
    • writeJavaEncoding

      public static final String writeJavaEncoding(int nInputenc)
    • readFontencs

      public static final int readFontencs(String sFontencs)
    • appendDeclarations

      public void appendDeclarations(LaTeXDocumentPortion pack, LaTeXDocumentPortion decl)
      Add declarations to the preamble to load the required packages
      Specified by:
      appendDeclarations in class I18n
      Parameters:
      pack - usepackage declarations
      decl - other declarations
    • applyLanguage

      public void applyLanguage(StyleWithProperties style, boolean bDecl, boolean bInherit, BeforeAfter ba)
      Apply a language language
      Specified by:
      applyLanguage in class I18n
      Parameters:
      style - the OOo style to read attributes from
      bDecl - true if declaration form is required
      bInherit - true if inherited properties should be used
      ba - the BeforeAfter to add LaTeX code to.
    • pushSpecialTable

      public void pushSpecialTable(String sName)
      Push a font to the font stack
      Specified by:
      pushSpecialTable in class I18n
      Parameters:
      sName - the name of the font
    • popSpecialTable

      public void popSpecialTable()
      Pop a font from the font stack
      Specified by:
      popSpecialTable in class I18n
    • getCharCount

      public int getCharCount()
      Get the number of characters defined in the current table (for informational purposes only)
      Returns:
      the number of characters
    • convert

      public String convert(String s, boolean bMathMode, String sLang)
      Convert a string of characters into LaTeX
      Specified by:
      convert in class I18n
      Parameters:
      s - the source string
      bMathMode - true if the string should be rendered in math mode
      sLang - the iso language of the string
      Returns:
      the LaTeX string