Tag: fonts

Java解析truetype字体以将每个字符提取为图像及其代码

是否有任何java库可用于从真实类型字体(.ttf)中提取每个字符? 字体的每个字符,我想: 将其转换为图像 提取其代码(例如:Unicode值) 有人可以帮我向我展示一些关于上述目的的提示吗? PS:我想知道,这个应用程序是如何制作的: http : //www.softpedia.com/progScreenshots/CharMap-Screenshot-94863.html

Wingdings / Symbol字符之间的映射及其Unicode等价物

MsWord使用Wingdings和Symbol字符作为项目符号,默认情况下它们的hex值为F0A7和F0B7。 我想将子弹转换为它们的Unicode等价物。 当然,这取决于所使用的实际字体,因此F0A7 Wingding将成为Unicode 25AA(●)。 我发现了从Wingdings到Unicode以及从Symbol到Unicode的部分映射。 是否有一般的库(最好是Java)或这些映射的数据库?

Windows机器上iText-PDF中的中文字体问题

我正在使用Ubuntu-PC创建带有iText的PDF,部分是中文版。 为了阅读它们,我使用了Evince。 到目前为止几乎没有任何问题 在我的电脑上,我尝试了以下三个BaseFonts并且他们成功地工作了: bf = BaseFont.createFont(“MSungStd-Light”, “UniCNS-UCS2-H”, BaseFont.NOT_EMBEDDED); bf = BaseFont.createFont(“STSong-Light”, “UniGB-UCS2-H”, BaseFont.NOT_EMBEDDED); bf = BaseFont.createFont(“MSung-Light”,”UniCNS-UCS2-H”, BaseFont.NOT_EMBEDDED); 不幸的是,在使用Acrobat-Reader在Windows上打开最终PDF时,文档无法再正确显示。 在我搜索字体以获得解决方案后,我来到论坛,以可理解的方式解释问题(这里使用了MSung-Light): http : //community.jaspersoft.com/questions/531457/chinese-font-不能待看到 您正在使用PDF中的内置中文字体。 我不确定这种字体能否同时支持英文和中文,或混合语言。 使用Acrobat Reader内置字体的优点是它可以生成较小的PDF文件,因为它依赖于显示PDF的客户端计算机上可用的字体,通过预先安装的Acribat Asian字体包。 但是,当我们研究与内置韩文字体相关的类似问题时,使用PDF内置字体具有通过在不同机器上进行测试而发现的一些缺点。 我该怎么办呢? 能够复制中文字母并不是那么重要。 iText可以将段落转换为图像吗? 或者有更好的解决方案吗?

Java PDFBox设置PDF表单中几个字段的自定义字体

我正在使用Apache PDFBox读取可填写的PDF表单并根据一些数据填写字段。 我使用下面的代码(根据其他SO答案的建议)获取默认外观字符串并更改它(如下所示,如果字段名称为“Field1”,我将字体大小从10更改为12。 我如何大胆的领域? 有关/ Helv 10 Tf 0 g排列顺序的任何文件? 我需要设置什么来大胆的领域? 如果我理解正确的话,我可以在开箱即用的PDFBox中使用14种基本字体(双关语无意)。 我想使用一个或多个看起来像Signatures(草书)的字体。 这样做的任何开箱即用的字体? 如果没有,如果我有自己的字体,如何设置要写入PDF的方法? 请注意,下面的代码可以通过填充方法参数的特定“名称”字段中方法参数中传递的特定“值”来正常工作。 谢谢 ! public static void setField(String name, String value ) throws IOException { PDDocumentCatalog docCatalog = _pdfDocument.getDocumentCatalog(); PDAcroForm acroForm = docCatalog.getAcroForm(); PDField field = acroForm.getField( name ); COSDictionary dict = ((PDField)field).getDictionary(); COSString defaultAppearance = (COSString) dict.getDictionaryObject(COSName.DA); if (defaultAppearance != […]

如何使用Java获得具有已定义宽度的多行富文本字段(任何字体,任何字体大小)所需的高度?

我有一个X字符串(如Arial字体),Y高度定义宽度值,使字符串可以进入多行。 我需要计算所需的高度,以便所需的字符串适合它。 Apache POI中行的自动大小是不可能的,因为我需要行的合并单元格中存在的富文本字符串(任何字体和高度)的高度,在这种情况下,自动大小不起作用。

Font.getNumGlyphs()返回的数字

Font.getNumGlyphs()返回的数字实际代表什么? 文档。 州: 返回此Font的字形数。 此Font字形代码范围从0到getNumGlyphs() – 1 。 我认为它表示0和Character.MAX_CODE_POINT之间的代码点数, Font.canDisplay(codePoint)返回true 。 但是下面代码的输出表明不然。 码 注意:对于超过200种字体,要经过100万个+代码点( countGlyphs方法),这里需要30秒。 运行时请耐心等待。 import java.awt.*; import java.util.Date; import javax.swing.*; import javax.swing.table.DefaultTableModel; class FontGlyphCheck { public static int countGlyphs(Font f) { int count = 0; for (int ii = 0; ii < Character.MAX_CODE_POINT; ii++) { if (f.canDisplay(ii)) { count++; } } return count; […]

字体(Myanmar3)在iText中无法正确呈现

在jasper-reports部分,有一个jasper-report-character-encoding-in-pdf问题。 这个问题在jasper报告中无法解决,因为它似乎是一个迭代问题(使用iText v.5.5.4 ) 示例代码: public class FontTest { /** The resulting PDF file. */ public static final String RESULT = “pdf/fontTest.pdf”; /** the text to render. */ public static final String TEST = “\u1005\u101B\u1004\u103A\u1038\u1021\u1004\u103A\u1038\u1019\u103B\u102C\u1038\u1011\u100A\u103A\u101E\u103D\u1004\u103A\u1038\u1001\u103C\u1004\u103A\u1038”; public void createPdf(String filename) throws IOException, DocumentException { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename)); document.open(); […]

在PDFbox上将PDF设置为图像到图像

我正在尝试设置外部ttf,以便能够从包含阿拉伯语字符的pdf中渲染图像,我需要设置的字体是“Arial”,完成后控制台继续通知它正在使用defaultFont而不是arial。 org.apache.pdfbox.pdmodel.font.PDSimpleFont drawString ATTENTION: Changing font on from to the default font 这是我的代码: import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.imageio.ImageIO; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDResources; import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; import org.apache.pdfbox.pdmodel.font.PDFont; import org.apache.pdfbox.pdmodel.font.PDTrueTypeFont; import org.apache.pdfbox.pdmodel.font.PDType1Font; import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage; public class PdfBoxTest { public static void main(String[] args) { PdfBoxTest obj […]

在eclipse中将字体导出到jar

我正在尝试导出一个字体,这样你就不必安装字体来运行它在eclipse中运行的游戏,但是导出它不起作用 文件夹结构如下: Project_name /src -Core(package) -game(package) /Fonts -Origin-Light.ttf 我用以下命令加载字体: font = Font.createFont(Font.TRUETYPE_FONT, new FileInputStream(“./Fonts/Origin-Light.ttf”)); 在eclipse中它工作正常,但导出似乎没有加载字体 编辑:jar文件中的结构: /core – main.class – …. /Fonts – Origin-Light.ttf /game – otherclasses.class /META-INF – MANIFEST.MF /org /eclipse some more folders

无法将选项卡和空格插入PDBox PDF文档

我想用PDFBOX创建的PDF格式打印出来。 它不会让我插入标签和空格,因为字体不支持它们。 为什么这是一个问题,更重要的是,我该如何解决? StudentData student = listOfDebtors.get(j); contentStream.beginText(); contentStream.setFont(font, 8); contentStream.newLineAtOffset(xPosition, yPosition); contentStream.showText(“Member #:”+ student.getMembershipNumber() + “\t” + “Grade:” + getStudentGradeInSchool(student.getYearGraduate()) + “\t” + “Year Joined” + student.getYearJoined() + “\n” + “Name:” + student.getFirstName() + ” ” + student.getLastName() + “\n” + “Amount Owed : $” + student.getAmountOwed()); 显示错误: Caused by: java.lang.IllegalArgumentException: No glyph for […]