问题标签 [glyph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
658 浏览

java - Java:如何获得字符的形状(不是轮廓)

有没有办法使用Java获得表示字符的“形状”。

我知道 GlyphVector 类的 getOutling()。但它会返回角色的轮廓。

我需要的不是轮廓,而是描绘角色的单线形状。

0 投票
8 回答
17152 浏览

unicode - 是否有“未找到字形”字符?

假设我们有一个文本,其中包含一个无法显示的 Unicode 字符,因为我们的字体没有对应的字形。通常,会显示一个占位符,例如一个矩形块(见屏幕截图)。

是否有可靠地产生此字形的“未找到字形”字符?我想"If the following text contains <insert character here> then you need another font..."在 UI 中写一些类似的东西。

顺便说一句,我不是在谈论 �(替换字符)。当无法从数据流中正确解码 Unicode 字符时,会显示该字符。它不一定会产生相同的字形:

在此处输入图像描述

0 投票
1 回答
6885 浏览

c# - 作为单行矢量路径的文本轮廓

对于应用程序,我需要将文本/字形绘制为基于矢量的路径。使用GDI+ GraphicsPath 和 Graphics.DrawPath 或WPF FormattedText 和 Geometry 工作正常,我得到的输出如第一张图片所示。但是,是否有可能以某种方式将字母作为单行路径,如第二张图片所示(显示 L)。

如果有人有想法,我很高兴。

文字大纲 单行字形路径

请参阅此示例。使用内置函数将始终为您提供包含其内部和外部边界的字母的路径。只有第一个是由单笔划组成的,这导致路径更短。

在此处输入图像描述

0 投票
1 回答
61618 浏览

fonts - Google Web Fonts 字体中的“latin”与“latin-extended”字形支持的语言?

Google Web 字体选择字符集

Google Web Fonts 上的某些字体支持多个“字符集”。问题是,如果我使用的网络字体只提供“拉丁”字形,将页面翻译成不支持字形的语言的用户会清楚地注意到混乱的文本。

我希望我的网络字体支持除英语之外世界上最流行的语言,例如西班牙语、德语、法语等。

为此,我想知道,“拉丁语”和“拉丁语扩展”分别适合哪些语言。

我希望答案看起来像:

我在 Google Web Fonts 文档或谷歌搜索中找不到此信息。

0 投票
1 回答
3749 浏览

css - 图标字体 - icomoon - @font-face 在不同的服务器上不显示

当我第一次下载这些图标时,它们可以在所有浏览器中使用。然而,现在它的生活和字体生活在不同的服务器上,它在 IE 或 Firefox 中不起作用,但在 Chrome 和 Opera 中很好。有人有什么想法吗?我已经三次检查了代码并确保所有字体都在服务器上。

0 投票
2 回答
14643 浏览

unicode - UTF-8:语言使用多少字节来表示可见字符?

是否存在一个表格或类似的东西来显示当编码为 utf8 时不同语言平均需要多少字节来表示一个可见字符(字形)?

0 投票
8 回答
16983 浏览

fonts - 通过删除字形缩小 .OTF 字体

我不敢相信这个问题没有专门针对 OpenType 字体提出,但有人知道从这些字体中删除字形的方法吗?

我有一个非常大的文件大小(几乎 10MB)的 .OTF,我需要使它更小。原因有两个。

1)我正在尝试为网络嵌入做准备,所以文件越小,客户端就越容易。

2) Font Squirrel(用于轻松准备字体文件)有 2MB 的上传限制 - 我知道有替代方案,但到目前为止还没有成功。为了节省浪费人们的时间,我尝试过的失败的是http://fontface.codeandmore.com/http://www.font2web.com/。CodeAndMore.com 似乎可以工作,但它吐出的字体与我给它的字体完全不同。

请注意,我不是字体专家,所以请轻松回答。

0 投票
1 回答
2008 浏览

pdf - PDF 中的文本旋转

所以我有这种情况:

使用pdftoxml.exesourceforge.net 我得到了文本标记及其坐标。如果 pdf 文件被旋转(即它/Rotate 90的源代码中有一个),pdftoxml.exe 交换给定页面的高度和宽度以及任何给定对象的 x 和 y 坐标。这就是我的理解。

我对此很满意,直到我遇到一个用来re画粗线的 pdf 文件。也就是说,对于一条粗线,绘制了 4 条细线并填充了空间,如图所示。在左侧,您会看到两条细线(非彩色),它们是较大矩形(高度放大)的一部分。我清空了实际上充满黑色的空间,以查看线条:

在此处输入图像描述

此外,上面的pdf被旋转。因此,为了B最终保持直立,使用了这个文本矩阵:0 1 -1 0 90.72 28.3705 Tm. 细线是这样绘制的83.04 27.891 0.48 0.48 re(坐标在这里可能会有所不同,但它是一些类似的重新操作。操作就像adobe's pdf 1.7 page 133x y width height rere的矩形)。此处相关的是由于浮点问题而未四舍五入或更改的计算。这是行 x 的确切值,不幸的是,它大于硬编码的 'sx,即:27.891 + 0.48 = 28.371B28.3705

页面的坐标842 x 595,2根据左上角的 PDFXChange 查看器进行。这看起来很自然,因为页面是旋转的。不旋转,它将是左下角,所以应该没问题。


当文本更改1 0 0 1 90.72 28.3705 Tm为原始方向时,可以看到折叠的底线与左侧的线:

在此处输入图像描述

这是我所期望的,因为B'sy 是28.3705并且行的水平位置是28.371(如上面代码行的第二行所示)。所以很可能B的底线超出了28.371但我无法放大。

现在第一张图片中线和线之间的差距B来自哪里?这对我来说很重要,因为我试图找出最靠近左边的线B并且对这两个值感到惊讶,即我从 pdftoxml.exe 获得的文本的 suppsed x 值28.3705和水平线值28.371. 因为我知道这条线实际上远远超出了B不可能正确的左边,至少在“取线的 x 位置,取 B 的 x 位置,比较,如果线的 x 小于B'sx, 线在左边”。

我无法使用 x 值找到正确的行。相反,我得到了最左边的另一行......就像文本落在他们两个之间一样。

这是文字绘制代码:

因此,B 的大小或线条粗细没有什么特别之处。

你能帮我弄清楚吗?


I这是一张更新的图片,在同一页面上绘制了两张,上一张I使用0 1 -1 0 90.72 28.3705 Tm(数学旋转 90 度),下一张使用1 0 0 1 90.72 28.3705 Tm。所以我不明白,下部是如何I旋转+90并最终成为上部的?

这是pdf代码。它相当大,但您应该能够将其复制到您的文件中并将其命名为 sth.pdf。

在此处输入图像描述

PDF 示例(您必须实际放大到真正大的左上角才能看到I

编辑我实际上发现了一些关于查找字形边界框的有趣信息,但我还无法将这些部分放在一起。

0 投票
2 回答
439 浏览

pdf - 字形边界框和字形原点之间的小间隙的合理性

adobe 的 pdf 1.7 第 241 页中,您可以看到字形边界框和字形原点之间的细微差别。知道为什么会有这种差异吗?

这个问题与另一个问题有关

0 投票
0 回答
1556 浏览

fonts - SVG 字体字形:见过包含路径的吗?

我有一个由程序 potrace 创建的 SVG 文件源,它为多段字符的每个组件创建了一个单独的组件。如果我使用这些相同的 <path> 简单地创建字形定义,则字符将不会显示。如果我将所有路径指令都塞进 <glyph> 的“d=”属性中,字符就会显示出来。

SVG 规范<glyph> 元素是容器,并明确表示它们可以包含 <path> 元素。它只是不起作用(在 Chrome、Opera、Safari 中测试)。

这是我可以简化为的最小示例:

样本04.svg

请注意,这两个字形具有相同的信息,第一个完全包含在 <glyph> d= 属性中,第二个将信息分成两个 <path> 元素。我只尝试了一个 <path> 元素,但没有更好的结果。

那么这只是另一种规格闪闪发光而浏览器不符合要求的情况吗?

注意:我如此关心的原因是我有将近 5000 个这些 SVG 文件要嵌入到字体中,并且真的不想如此深入地进行 XML 转换以转换源...