upLaTeX使用日文字体以及虚拟字体实现Font Fallback

致谢

Steve Cheung

知识点

  1. jfm/jvf。tfm 是 TeX 使用的逻辑字体,vf 是虚拟字体,可用于将多个风格的字体合并到 tfm 中,一般地, tfm 记录装字符的盒子的尺寸信息,vf 负责合并或者修改字体或字符。ptex 修改并扩展了 tfm/vf 得到 jfm/jvf,tfm/vf 和 jfm/jvf 都是二进制文件,需要工具将其转换为人类可阅读的格式,tftopl 可转换 tfm 为 pl 文件,vftovp 可将 vf 转换为 vp 文件,同样地,jfm 可以借助 uptftopl 转换, jvf 可以借助 jfmutil 转换。
  2. dvi。tex 生成的独立于设备的文件,类似 pdf,也是二进制文件,需要 dvitype 查看内容。ptex 和 uptex 生成的 dvi 用 updvitype 查看。

准备工具

  1. jfmutil
  2. perl
  3. updvitype
  4. uplatex
  5. dvipdfmx
  6. uptftopl
  7. https://pan.baidu.com/s/12bRVGZM7J_pYYzMJCnX31w ➥ ec9u

无虚拟字体做 Font FallBack

在 Mac 系统中,有一款比较出色的日文字体叫做 Hiragino Mincho ProN W3/W6 有两个字重,包含有 20,327 个字符。如果我们想在 upLaTeX 中使用的话,就需要重新映射逻辑字体和物理字体(ttf或otf或type1字体)。

首先,我们先编译一遍没有字体重映射的文件 uplatex uptextest.tex,这里用筑紫字体做了 CJK 的默认字体:

\documentclass[dvipdfmx, uplatex]{ujbook}
\begin{document}
\mcfamily
這是測試文檔 \par % 必须是繁体
㨝㪥㾩䁪䌋䎘䟕䠚乒乓倈值僽剁剎叼吆咂咇咚哏唣唬唿啃啈啕啟喳嗊嘓嘮噙噥噹嚎嚛囔圞垛埂夠姌姹尷巔幙恓扢拋挎掗揌揝搕搧暨柟查楟槺污渰漷灒煼熝爊犺犼狔狨猁獾瞅硍笤篡絯繨罈翱肐臢菂虼蟮蠦褭賫踘蹅躲邷鄉酕醄韂餪饝饢騔騕驦鯕鱯齜㪍㬋㶏䕷儅剁唿啕嚎墵恓璝盩褭鈚靬鞽騕
\end{document}
image.png

查看一下生成的 dvi 执行 updvitype uptextest.dvi

This is upDVItype, Version 3.6-p0.4-u1.25 (utf8.uptex) (TeX Live 2019)
Options selected:
  Starting page = * 
  Maximum number of pages = 1000000
  Output level = 4 (the works)
  Resolution = 300.00000000 pixels per inch
numerator/denominator=25400000/473628672
magnification=1000;       0.00006334 pixels per DVI unit
' TeX output 2021.04.13:2357'
Postamble starts at byte 748.
maxv=44195016, maxh=23724032, maxstackdepth=3, totalpages=1
Font 17: upjisr-h scaled 962 (JFM)---loaded at size 630600 DVI units  # upjisr-h 就是我们要修改的jfm文件
 (this font is magnified 96%) 
Font 7: cmr10---loaded at size 655360 DVI units 

接着我们把 upjisr-h 的 jfm/jvf 拷贝到当前目录,然后重映射物理字体,编译rm uptextest.dvi uptextest.pdf && uplatex uptextest.tex

% uptextest.tex
\special{pdf:mapline uprml-h unicode HiraMinProN-W3.otf} % 不配置这里的话,就是使用uptex默认的mcfamily对应的字体,我们把这里设置成为我们想要的冬青宋体
\documentclass[dvipdfmx]{ujbook}
\begin{document}
\mcfamily
這是測試文檔 \par % 必须是繁体
㨝㪥㾩䁪䌋䎘䟕䠚乒乓倈值僽剁剎叼吆咂咇咚哏唣唬唿啃啈啕啟喳嗊嘓嘮噙噥噹嚎嚛囔圞垛埂夠姌姹尷巔幙恓扢拋挎掗揌揝搕搧暨柟查楟槺污渰漷灒煼熝爊犺犼狔狨猁獾瞅硍笤篡絯繨罈翱肐臢菂虼蟮蠦褭賫踘蹅躲邷鄉酕醄韂餪饝饢騔騕驦鯕鱯齜㪍㬋㶏䕷儅剁唿啕嚎墵恓璝盩褭鈚靬鞽騕
\end{document}
image.png

可以看到字体已经改过来,查看一下 dvipdfmx 编译 dvi 时候的 log:

 dvipdfmx -v uptextest.dvi 
...
dvipdfmx:warning: No character mapping available.
 CMap name: HiraMinProN-W3.otf,000-UCS4-H
 input str: <00003a1d>  % dvipdfmx不能识别该字符的映射

dvipdfmx:warning: No character mapping available.
 CMap name: HiraMinProN-W3.otf,000-UCS4-H
 input str: <00003aa5> % 同上
  ...

input str 行显示的就是 dvipdfmx 不能准确映射到物理字体的字符,那怎么解决呢,接着看。

解决字符豆腐块问题

借助 jfmutil 工具可以生成 jfm/jvf 对应的更适合人类阅读文件 zpl/zvp,然后编辑 zvp 和 zpl 使其通过映射到字符范围更广的字体的方式而具备 font fallback 功能,再重新生成 jfm 和 jvf,在 tex 中调用新生成的 jfm/jvf,编译 tex,就能看到如下效果(注意下面的第二行字体是思源宋体,第一行是冬青明朝体<也就是mcfamily明朝体也即宋体>):

image.png

将 jfm/jvf 转换为适合人类阅读的格式

用命令 kpsewhich 查找 upjisr-h 的 jfm/jvf,得到两个文件:

kpsewhich upjisr-h.tfm upjisr-h.vf
--------------------------
/usr/local/texlive/2019/texmf-dist/fonts/tfm/uptex-fonts/jis/upjisr-h.tfm
/usr/local/texlive/2019/texmf-dist/fonts/vf/uptex-fonts/jis/upjisr-h.vf

我们要编辑的是 jvf 文件,不过呢,一个jvf 文件可能引用了其他的逻辑字体jfm,所以,第一步,先检查一下 jvf 中jfm的引用树:

jfmutil vfinfo upjisr-h.vf           
-------------------------
0=uprml-h     # 基础jfm,设置了字体字符的盒子模型,这个文件不能更改,它定义了盒子的尺寸
2=upjisr-hq   # 可以修改,我们修改这个字体的字符范围coderange,使其可以映射到字符范围更广的思源字体

jfmutil vfinfo upjisr-hq.vf         
-------------------------
0=uprml-hq    # 基础jfm,不能更改

现在将文件转换为人类可以阅读的 zvp 格式

jfmutil vf2zvp -u --lenient upjisr-h.vf

得到一个文件 upjisr-h.zvp,我们重点关注一下第 19/25 行,这两行告诉我们 upjisr-h.vf 文件基础逻辑字体的为 uprml-h.tfm,二级逻辑字体是 upjisr-hq.tfm(而 upjisr-hq.vf 又指向了 uprml-hq.tfm ),这里我们只修改 upjisr-hq 的字符范围,使 uplatex 能够在调用冬青宋体的时候还能自动 Font Fallback用思源字体的字符,其他的功能不做修改。

(VTITLE )
(FAMILY UPJIS KANJI)
(FACE F MRR)
(CODINGSCHEME TEX KANJI TEXT)
(DESIGNSIZE R 10.0)
(CHECKSUM O 0)
(FONTDIMEN
   (SLANT R 0.0)
   (SPACE R 0.0)
   (STRETCH R 0.1)
   (SHRINK R 0.0)
   (XHEIGHT R 1.0)
   (QUAD R 1.0)
   (EXTRASPACE R 0.25)
   (EXTRASTRETCH R 0.2)
   (EXTRASHRINK R 0.125)
   )
(MAPFONT D 0
   (FONTNAME uprml-h)     (COMMENT 一级逻辑字体)
   (FONTCHECKSUM O 0)
   (FONTAT R 1.0)
   (FONTDSIZE R 10.0)
   )
(MAPFONT D 2
   (FONTNAME upjisr-hq)   (COMMENT 这是二级逻辑字体,我们将超出冬青宋字符范围的字符映射到`D 2'字体也就是upjis-h上,接着在special命令中修改uprml-hq的物理字体映射,该行命令可以在生成的dvi中看到且由dvipdfmx识别并完成思源字体的读取)
   (FONTCHECKSUM O 0)
   (FONTAT R 1.0)
   (FONTDSIZE R 10.0)
   )

我们在 upjisr-h.zvp 的最后追加 附录一 的内容(Comment 行在生成 jvf 的时候会被过滤掉,这里仅为了编辑方便,若只看 16 进制估计很懵),以下是 ZVP 语法:

(COMMENT 㨝)
(CHARACTER H 3A1D
   (MAP
      (SELECTFONT D 2)  (COMMENT D 2 就是upjisr-hq对应的字体)
      (SETCHAR )
      )
   )
...

生成新的 jfm/jvf

jfmutil zvp2vf -u --lenient upjisr-h.zvp

应用修改后的jfm并重映射物理字体

\special{pdf:mapline uprml-h  unicode HiraMinProN-W3.otf}
\special{pdf:mapline upjisr-hq unicode SourceHanSerifTC-Regular.otf}
\documentclass[dvipdfmx, uplatex]{ujbook}
\begin{document}
%\mcfamily
這是測試文檔 \par
㨝㪥㾩䁪䌋䎘䟕䠚乒乓倈值僽剁剎叼吆咂咇咚哏唣唬唿啃啈啕啟喳嗊嘓嘮噙噥噹嚎嚛囔圞垛埂夠姌姹尷巔幙恓扢拋挎掗揌揝搕搧暨柟查楟槺污渰漷灒煼熝爊犺犼狔狨猁獾瞅硍笤篡絯繨罈翱肐臢菂虼蟮蠦褭賫踘蹅躲邷鄉酕醄韂餪饝饢騔騕驦鯕鱯齜㪍㬋㶏䕷儅剁唿啕嚎墵恓璝盩褭鈚靬鞽騕
\end{document}

编译以上文件,就可以得到没有豆腐块的pdf了。

附录一

(COMMENT 㨝)
(CHARACTER H 3A1D
   (MAP
      (SELECTFONT D 2)  (COMMENT D 2 就是upjisr-hq对应的字体)
      (SETCHAR )
      )
   )
(COMMENT 㪥)
(CHARACTER H 3AA5
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 㾩)
(CHARACTER H 3FA9
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 䁪)
(CHARACTER H 406A
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 䌋)
(CHARACTER H 430B
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 䎘)
(CHARACTER H 4398
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 䟕)
(CHARACTER H 47D5
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 䠚)
(CHARACTER H 481A
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 乒)
(CHARACTER H 4E52
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 乓)
(CHARACTER H 4E53
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 倈)
(CHARACTER H 5008
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 值)
(CHARACTER H 503C
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 僽)
(CHARACTER H 50FD
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 剁)
(CHARACTER H 5241
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 剎)
(CHARACTER H 524E
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 叼)
(CHARACTER H 53FC
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 吆)
(CHARACTER H 5406
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 咂)
(CHARACTER H 5482
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 咇)
(CHARACTER H 5487
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 咚)
(CHARACTER H 549A
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 哏)
(CHARACTER H 54CF
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 唣)
(CHARACTER H 5523
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 唬)
(CHARACTER H 552C
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 唿)
(CHARACTER H 553F
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 啃)
(CHARACTER H 5543
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 啈)
(CHARACTER H 5548
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 啕)
(CHARACTER H 5555
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 啟)
(CHARACTER H 555F
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 喳)
(CHARACTER H 55B3
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 嗊)
(CHARACTER H 55CA
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 嘓)
(CHARACTER H 5613
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 嘮)
(CHARACTER H 562E
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 噙)
(CHARACTER H 5659
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 噥)
(CHARACTER H 5665
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 噹)
(CHARACTER H 5679
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 嚎)
(CHARACTER H 568E
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 嚛)
(CHARACTER H 569B
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 囔)
(CHARACTER H 56D4
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 圞)
(CHARACTER H 571E
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 垛)
(CHARACTER H 579B
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 埂)
(CHARACTER H 57C2
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 夠)
(CHARACTER H 5920
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 姌)
(CHARACTER H 59CC
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 姹)
(CHARACTER H 59F9
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 尷)
(CHARACTER H 5C37
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 巔)
(CHARACTER H 5DD4
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 幙)
(CHARACTER H 5E59
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 恓)
(CHARACTER H 6053
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 扢)
(CHARACTER H 6262
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 拋)
(CHARACTER H 62CB
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 挎)
(CHARACTER H 630E
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 掗)
(CHARACTER H 6397
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 揌)
(CHARACTER H 63CC
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 揝)
(CHARACTER H 63DD
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 搕)
(CHARACTER H 6415
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 搧)
(CHARACTER H 6427
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 暨)
(CHARACTER H 66A8
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 柟)
(CHARACTER H 67DF
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 查)
(CHARACTER H 67E5
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 楟)
(CHARACTER H 695F
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 槺)
(CHARACTER H 69FA
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 污)
(CHARACTER H 6C61
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 渰)
(CHARACTER H 6E30
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 漷)
(CHARACTER H 6F37
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 灒)
(CHARACTER H 7052
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 煼)
(CHARACTER H 717C
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 熝)
(CHARACTER H 719D
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 爊)
(CHARACTER H 720A
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 犺)
(CHARACTER H 72BA
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 犼)
(CHARACTER H 72BC
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 狔)
(CHARACTER H 72D4
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 狨)
(CHARACTER H 72E8
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 猁)
(CHARACTER H 7301
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 獾)
(CHARACTER H 737E
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 瞅)
(CHARACTER H 7785
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 硍)
(CHARACTER H 784D
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 笤)
(CHARACTER H 7B24
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 篡)
(CHARACTER H 7BE1
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 絯)
(CHARACTER H 7D6F
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 繨)
(CHARACTER H 7E68
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 罈)
(CHARACTER H 7F48
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 翱)
(CHARACTER H 7FF1
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 肐)
(CHARACTER H 8090
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 臢)
(CHARACTER H 81E2
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 菂)
(CHARACTER H 83C2
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 虼)
(CHARACTER H 867C
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 蟮)
(CHARACTER H 87EE
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 蠦)
(CHARACTER H 8826
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 褭)
(CHARACTER H 892D
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 賫)
(CHARACTER H 8CEB
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 踘)
(CHARACTER H 8E18
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 蹅)
(CHARACTER H 8E45
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 躲)
(CHARACTER H 8EB2
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 邷)
(CHARACTER H 90B7
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 鄉)
(CHARACTER H 9109
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 酕)
(CHARACTER H 9155
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 醄)
(CHARACTER H 9184
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 韂)
(CHARACTER H 97C2
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 餪)
(CHARACTER H 992A
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 饝)
(CHARACTER H 995D
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 饢)
(CHARACTER H 9962
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 騔)
(CHARACTER H 9A14
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 騕)
(CHARACTER H 9A15
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 驦)
(CHARACTER H 9A66
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 鯕)
(CHARACTER H 9BD5
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 鱯)
(CHARACTER H 9C6F
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 齜)
(CHARACTER H 9F5C
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 㪍)
(CHARACTER H 3A8D
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 㬋)
(CHARACTER H 3B0B
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 㶏)
(CHARACTER H 3D8F
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 䕷)
(CHARACTER H 4577
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 儅)
(CHARACTER H 5105
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 剁)
(CHARACTER H 5241
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 唿)
(CHARACTER H 553F
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 啕)
(CHARACTER H 5555
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 嚎)
(CHARACTER H 568E
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 墵)
(CHARACTER H 58B5
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 恓)
(CHARACTER H 6053
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 璝)
(CHARACTER H 749D
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 盩)
(CHARACTER H 76E9
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 褭)
(CHARACTER H 892D
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 鈚)
(CHARACTER H 921A
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 靬)
(CHARACTER H 976C
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 鞽)
(CHARACTER H 97BD
   (MAP
      (SELECTFONT D 2)
      (SETCHAR )
      )
   )
(COMMENT 騕)
(CHARACTER H 9A15
   (MAP
      (SELECTFONT D 2)
      (SETCHAR H 9A15)
      )
   )
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容