- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我们有一个系统可以解析 PDF 文件并提取其中的文本用于索引等。我们遇到的一个问题是 Illustrator 将包含“fi”的单词设置为使用 fi 的连字(单个字形)。
例如这一行...
“长凳和富玻化瓷砖。”
在我的 Java 调试器中显示如下
“ete 长凳和丰富的 vitri\u001Fed 瓷砖。”
\u001F 似乎是 Adobe PDF 文件用于连字“fi”的字符代码。我显然可以将\u001F 的出现换成“fi”,但有人知道处理这种情况和类似情况的可靠方法吗?
最佳答案
在 PDF 中用作“显示文本”运算符的操作数的字节序列(TJ、Tj 等)应该使用图形状态中 Activity 字体的编码和与字体关联的 ToUnicode cmap 转换为文本。一些字体包括 ToUnicode cmap,它将 0x001F 代码(或它用于字形的任何代码)映射到字符“f”和“l”。其他字体使用带有/Differences 数组的编码,将代码 0x1F 映射到字符/fl。必须处理这些结构才能获得正确的结果。
关于java - 如何在 Java(和其他)中确定 "FI"的连字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324807/
我是 latex 初学者,所以请原谅这个基本问题:如何激活 latex 中的丹麦连字号? 来自以下最新文件的输出: 提前致谢 This is pdfTeXk, Version 3.141592-1.4
如何为 SwiftUI 文本添加断字?目前 SwiftUI 会在没有空格的情况下创建一个段落,但这使得所有内容都难以阅读且杂乱无章。 我做了一些研究,似乎没有本地方法。有没有另一种方法来实现这一目标?
我有一个从 pdf 文件转换而来的文本内容。文本中有一些不需要的字符,我想将它们转换为 utf-8 字符。 例如; “人工免疫系统”的转换类似于“人工免疫系统”。 fi 像一个字符一样转换,我使用 g
这是一个“元问题”,是我在尝试为我的另一个问题 (Rendering Devanagari ligatures (Unicode) in Java Swing JComponent on Mac OS
我是一名优秀的程序员,十分优秀!