bard99 最近的时间轴更新
bard99

bard99

V2EX 第 588707 号会员,加入于 2022-07-20 18:48:45 +08:00
根据 bard99 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
bard99 最近回复了
226 天前
回复了 bard99 创建的主题 Java 有个思源宋体的字体使用疑惑,请大佬指点
@mw2c #15 @tabris17
我刚才做了几个实验,猜测找到了原因:

我使用 WPS 先生成 word ,再将 word 转成 PDF 。使用的是思源宋体:


然后使用 Python 脚本读取 PDF 内容和 Unicode 编码值:

发现 WPS 生成 PDF 的文字是正常的「 4e59 」编码!

对比之下,我之前使用 itext 生成的 PDF 。使用的是思源宋体:

使用 Python 脚本读取 PDF 内容和 Unicode 编码值:

这个 PDF 的文字是异常的「 2f04 」编码!

所以猜测可能就是 itext 的 bug:
1. 对于共用字型的字体,如:2f04 和 4e59 ,字型为「⼄」和「乙」。
2. itext 程序的 bug ,导致了在使用 html 生成 PDF 的过程中
3. 首先 html 文本传入的是 4e59 ,然后 itext 根据 4e59 找到了字体「乙-2f04/4e59 」
4. 然后写入生成 PDF 的过程中,使用了「乙」的字型,但错误的使用了 2f04 的 Unicode 编码!
a. 对于 WPS 来说没有这个问题,会使用 4e59 的 Unicode 编码。
5. 所以原因,还是 itext 的问题! [至于具体的原因,还得 debug 去看了;看了半天没看出来逻辑在哪里...] !
a. 初步推测,itext 根据 4e59 找到了字体「乙-2f04/4e59 」,然后写入 PDF 时写入了「乙-2f04 」,很可能就是获取了第一个 Unicode 编码值!而 WPS 可能是写入了「乙」,然后 Unicode 编码值则从原始文本获取,这样就关联正确了!
226 天前
回复了 bard99 创建的主题 Java 有个思源宋体的字体使用疑惑,请大佬指点
@tabris17 #14 刚用 fontstore 试了狮尾四季春、SiHei 字体,发现他们都没有给 2F04 编码添加字型!所以这 2 个字体生成的 PDF ,文字都是正常的,都是 4E59 编码的「乙」!
226 天前
回复了 bard99 创建的主题 Java 有个思源宋体的字体使用疑惑,请大佬指点
@mw2c 这 2 篇文字涨知识了,感谢。然后我本地试了一下 4 种正规化的结果,打印如下:

这个结果看上去,好像可以得出:
- 只有「部首」字符(如:2f04 )在正规化后,可以变成正常的「单音」字符(如:4e59 )。
- 而「单音」字符的正规化,得到的仍然是它本身。

如果这 2 个结论对的话,在我的场景里,却是「单音」字符,转换后得到了「部首」字符,那就不符合这个结论了。
226 天前
回复了 bard99 创建的主题 Java 有个思源宋体的字体使用疑惑,请大佬指点
@NessajCN #9 感谢指正,试了下确实如你所说。 实际上我中间省略了一些过程,我是 debug 过程中,使用 itext 的 PdfReaderContentParser 读取生成后 PDF 文件,然后取出文本内容,在这里拿到了异常的 ⼄⽅ u2f04 。
226 天前
回复了 bard99 创建的主题 Java 有个思源宋体的字体使用疑惑,请大佬指点
@tabris17 #6
看到了,果然共用了字型!
226 天前
回复了 bard99 创建的主题 Java 有个思源宋体的字体使用疑惑,请大佬指点
@tabris17 难道上面截图里,表示的是 2f04 引用了 4e59 的字型?感觉可以说得通啊!
226 天前
回复了 bard99 创建的主题 Java 有个思源宋体的字体使用疑惑,请大佬指点
@NessajCN 直接复制 PDF 的文本出来,然后就可以查询了:
我帖子里用的是 birdfont: https://birdfont.org/
226 天前
回复了 bard99 创建的主题 Java 有个思源宋体的字体使用疑惑,请大佬指点
@tabris17 大佬,怎么看是共用了一个字型呢?
310 天前
回复了 bard99 创建的主题 MacBook Pro mac#m1#鼠标彩虹圈#卡死
回帖:自动纠正关了后,出现频率确实有下降。现在是几周出现 1 次😂,解决办法还是进程里面 kill 掉简体中文输入法。
问题肯定是这个输入法有问题。
同事换搜狗输入法后没出现这个问题,我不想换🤣
317 天前
回复了 DosLee 创建的主题 程序员 关于 IntelliJ IDEA Debug 的问题
@luomao +1 ,之前用 zulu 的 arm 版 jdk8 ,debug 经常卡住;后面换了 oracle 的 jdk 后,debug 就没遇到这个问题了
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2428 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 16:02 · PVG 00:02 · LAX 09:02 · JFK 12:02
Developed with CodeLauncher
♥ Do have faith in what you're doing.