tex4ebook 和国际象棋符号

tex4ebook 和国际象棋符号

这是我的这个问题并使用相同的设置。

我正在尝试排版国际象棋注释符号。MWE 是

\documentclass{article}
\usepackage{xskak}
\newcommand\mychessboard[1][]{\chessboard[#1]}
\usepackage{chess-workshop-symbols}

\begin{document}
\wbetter       \\   % fails
\bbetter       \\   % fails
\wupperhand    \\   % fails
\bupperhand    \\
\wdecisive     \\   % fails
\bdecisive     \\   % fails
\equal         \\
\unclear       \\   % fails
\compensation  \\   % fails
\withattack    \\
\withinit      \\
\counterplay   \\
\zugzwang      \\
\mate          \\
\withidea      \\
\onlymove      \\
\betteris      \\
\file          \\
\end{document}

如果我使用 pdflatex 处理文件,所有符号都会正确显示。使用 tex4ebook 时,有些符号无法正确显示,如上面的失败注释所示。

有办法解决这个问题吗?谢谢。

编辑:添加图像以显示我在评论中提到的 calibre/ebook 查看器结果。calibre/ebook viewer 结果

答案1

问题是,有些符号没有对应的 Unicode 字符,所以我们需要将它们输出为两个字符。在某些情况下,它与原始字符并不完全相符。

SkakNew.htf

SkakNew  32 121
'' ''     32
'!' ''     33
'”' ''     34
'#' ''  35
'$' ''  36
'%' ''  37
'&' ''  38
'’' ''     39
'(' ''  40
')' ''  41
'*' ''  42
'+' ''  43
',' ''  44
'-' ''  45
'.' ''  46
'/' ''     47
'0' ''  48
'1' ''  49
'2' ''  50
'3' ''  51
'4' ''  52
'5' ''  53
'6' ''  54
'7' ''  55
'8' ''  56
'9' ''  57
':' ''  58
';' ''  59
'¡' ''     60
'=' ''  61
'¿' ''     62
'?' ''  63
'@' ''  64
'→' ''  65
'♗' ''  66
'↑' ''  67
'⊙' ''  68
'△' ''  69
'□' ''  70
'⇗' ''  71
'⇔' ''  72
'⊞' ''  73
'╳' ''  74
'♔' ''  75
'⟂' ''  76
'≪' ''  77
'♘' ''  78
'≫' ''  79
'Ⅱ' ''  80
'♕' ''  81
'♖' ''  82
'>' ''  83
'⊕' ''  84
'○' ''  85
'⇆' ''  86
'W' ''  87
'×' ''  88
'Y' ''  89
'Z' ''  90
'[' ''  91
'“' ''     92
']' ''  93
'ˆ' ''     94
'˙' ''     95
'‘' ''     96
'⧉' ''  97
'⌓' ''  98
'±' ''  99
'⦂' ''  100
'∓' ''  101
'⩲' ''  102
'⩱' ''  103
'+-' ''  I can't find it, it is plus followed by minus
'-+' ''  minus followed by plus
'=' ''  106
'∞' ''  107
'l' ''  108
'#' ''  109
'=∞' ''  110
'o' ''  111
'p' ''  112
'q' ''  113
'r' ''  114
's' ''  115
't' ''  116
'u' ''  117
'v' ''  118
'w' ''  119
'x' ''  120
'y' ''  121
SkakNew  32 121

生成的 HTML:

在此处输入图片描述

和 PDF:

在此处输入图片描述

\compensation命令输出不太理想

Unicode 字符的问题在于,特别是小型设备(如 Kindle)可能无法支持所有字符。在这种情况下,有两种解决方案。第一种是请求生成此类字符的图像。如果您在文件的第二列中输入数字 1,则可以请求生成图像htf

'=∞' '1'  110

为了简化htf文件编辑并找出哪些行对应于特定字符,您可以使用SkakNew以下 Tex 代码为字体生成字体图:

\documentclass{article} 
  \input showfonts.4ht 
\begin{document} 
  \showfonts 
     {SkakNew-Figurine} 
     {} 
\end{document}  

用 编译它pdflatex

第二种方法是将 转换SkakNew-Figurine.otfwoff可在网页上使用的格式,并配置棋子字符以使用此字体。您需要安装helpers4ht 捆绑包并使用以下内容.cfg

\RequirePackage{addfont4ht}
\Preamble{xhtml}
\AddFontFace{SkakNewFigurine}{SkakNew-Figurine}{SkakNew-Figurine.woff}{}
\Css{.SkakNew-Figurine-{font-family:"SkakNewFigurine",sans-serif;}}
\begin{document}
\EndPreamble

相关内容