htlatex html 输出 droidsans

htlatex html 输出 droidsans

我正在尝试使用字体“Droid Sans”(如http://www.tug.dk/FontCatalogue/droidsans/) 在从 tex 文件生成的 html 文件中。

PDF

通过在我的 tex 文件中添加以下几行,我已成功使用该字体作为 pdf 的标准:

\renewcommand{\familydefault}{\sfdefault}
\usepackage[defaultsans]{droidsans}
\usepackage[T1]{fontenc}

HTML

现在,我尝试对 tex4ht-Config-File 执行相同的操作,在 -part 后直接添加这些行\Preamble(并且我已经在文档中的其他地方尝试过此操作)。文件如下所示:

\Preamble{html,index=2,info,sections+}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[defaultsans]{droidsans}
\usepackage[T1]{fontenc}
\begin{document}

\Css{
    % listings: grey background
    .listings { background-color: \#e5e5e5 ; }
}

% redefine \label to also create a HTML anchor
\let\labelOrig\label
\renewcommand{\label}[1]{
    \HCode{<A NAME="}#1\HCode{"></A>}
    \labelOrig{#1}
}

\EndPreamble

但它似乎不起作用。无论是否使用上述命令,我为 html 页面获得的“渲染字体”始终是“Liberation Serif”。​​我怎样才能让我的 html 文件使用 Droid Sans?

我正在使用 Ubuntu 14.04

答案1

tex4ht不会更改 html 文件中使用的字体,因此将使用浏览器的默认字体。您可以使用几行配置轻松更改它。

包含网络字体的最简单方法是使用一些字体托管服务,例如Google 字体。使用说明中指出,您应该将行

<link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>

到你的 html head,你可以这样做

\Configure{@HEAD}{\HCode{<link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' type='text/css' />}}

在 cfg 文件中。要在文档中启用字体,还必须在 css 中设置此字体:

\Css{body{font-family: 'Droid Sans', sans-serif;}}

完整的cfg文件:

\Preamble{xhtml,index=2,info,sections+}
\begin{document}
\Configure{@HEAD}{\HCode{<link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' type='text/css' />}}
\Css{body{font-family: 'Droid Sans', sans-serif;}}
\Css{
    % listings: grey background
    .listings { background-color: \#e5e5e5 ; }
}

% redefine \label to also create a HTML anchor
\let\labelOrig\label
\renewcommand{\label}[1]{
    \HCode{<A NAME="}#1\HCode{"></A>}
    \labelOrig{#1}
}

\EndPreamble

你不需要

\renewcommand{\familydefault}{\sfdefault}
\usepackage[defaultsans]{droidsans}
\usepackage[T1]{fontenc}

在 cfg 文件中。

这些差不多就是所需的全部内容,我们只需要修复没有Droid Sans字体配置tex4ht,并且某些字符可能转换不正确的问题。因此我们需要提供.htf文件。

DroidSans-t1.htf

.lm-ec
htfcss: DroidSans-t1 font-family: 'Droid Sans', sans-serif;

DroidSans-Bold-t1.htf

.lm-ec
htfcss: DroidSans-Bold-t1   font-family: 'Droid Sans', sans-serif; font-weight:bold;

这些文件看起来有些神秘。第一个文件指向.htf应该用于字符转换的文件,它可以是字体编码.htf中的任何文件T1,因为字符总是相同的。第二行包含应该插入到 css 文件中的代码,因此我们可以在此处插入有关字体粗细和字体系列的信息。

示例结果:

在此处输入图片描述

相关内容