我正在尝试使用字体“Droid Sans”(如http://www.tug.dk/FontCatalogue/droidsans/) 在从 tex 文件生成的 html 文件中。
通过在我的 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 文件中的代码,因此我们可以在此处插入有关字体粗细和字体系列的信息。
示例结果: