babel 格魯吉亞語和 fontspec

babel 格魯吉亞語和 fontspec
\documentclass{article}
\usepackage[georgian]{babel}
\usepackage{ifxetex}% load different packages with/without XeLaTex
\ifxetex
\usepackage{fontspec}
\setmainfont{sylfaen.ttf}
\else  % packages below are not needed with utf8 based engines
\usepackage[utf8]{inputenc}
\usepackage[T8M]{fontenc}
\fi%

\begin{document}

\begin{abstract}

test ტესტი

\end{abstract}

\section{Test section}
test ტესტი
\end{document}

對於pdflatex一切正常...當我有活動語言georgian格魯吉亞文本不顯示...我知道字體編碼從 EU1/2 更改為 TU,但不知道為什麼 EU1/2 被激活而不是 TU...

僅在 ldf 檔案中從 EU 切換到 TU 沒有幫助...

答案1

不幸的是,georgian.ldf尚未更新以支援TU.解決方法很簡單:

\documentclass{article}

\usepackage[georgian]{babel}

\usepackage{ifxetex}% load different packages with/without XeLaTex

\ifxetex
  \def\georgianencoding{TU}
  \usepackage{fontspec}
  \setmainfont{DejaVu Serif}
\else  % packages below are not needed with utf8 based engines
  \usepackage[utf8]{inputenc}
  \usepackage[T8M]{fontenc}
\fi


\begin{document}

\begin{abstract}

test ტესტი

\end{abstract}

\section{Test section}
test ტესტი
\end{document}

在此輸入影像描述

georgian.ldf這是(僅相關部分)的編輯版本:

\newif\if@kauni@ode
\ifdefined\luatexversion \@kauni@odetrue \else
\ifdefined\XeTeXrevision \@kauni@odetrue \fi\fi
\ifx\l@georgian\@undefined
  \@nopatterns{Georgian}
  \adddialect\l@georgian0
\fi
\def\@setgeorgianencoding{%
  \def\sce@a##1##2{%
    \edef\sce@b{##1}%
    \edef\sce@c{##2}%
    \ifx\sce@b\sce@c
      \let\georgiancoding\sce@c
    \fi}%
  \def\cdp@elt##1##2##3##4{%
    \sce@a{##1}{T8K}%
    \sce@a{##1}{T8M}%
    \if@kauni@ode
      \sce@a{##1}{TU}%TU
    \fi}%
  \cdp@list
}
\@setgeorgianencoding
\@onlypreamble\@setgeorgianencoding
\@onlypreamble\sce@a
\@onlypreamble\sce@b
\@onlypreamble\sce@c
\ifdefined\georgianencoding
\else
  \if@kauni@ode
    \def\georgianencoding{TU}
  \fi
  \else
    \edef\georgianencoding{T8M}
  \fi
  \PackageWarning{babel}%
    {No Georgian font encoding has been loaded so far.\MessageBreak
     A font encoding should be declared before babel.\MessageBreak
     Default `\georgianencoding' encoding will be loaded
    }%
  \lowercase\expandafter{\expandafter\input\georgianencoding enc.def\relax}%
  \AtBeginDocument{\@setgeorgianencoding}
\fi

相關內容