问题标签 [text-rendering]

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 回答
1535 浏览

css - Safari 使用 Typekit 和 optimizeLegibility 移除字间距

Safari 使用 Typekit 字体和文本渲染删除单词之间的空格时遇到问题:css 中的 optimizeLegibility ..

它在 Chrome 中运行良好,因此不是 webkit 问题。它在 Firefox 中也很好用。我想使用 optimizeLegibility 的原因是因为 webkit 浏览器中的字距太可怕了。

有什么建议吗?

编辑: 我在这里创建了一个示例 (它在 Firefox 和 Chrome 中运行良好,但在 Safari 5.1.7 中不适用(至少在 Windows 中不适用))

作为替代方案,如果有人可以帮助我在 Firefox 中获得起始点,就像在 Chrome 中一样,我可以使用 lettering.js 或其他东西来手动调整它。我无法让它与文本渲染一起使用:optimizeSpeed;

编辑:从 Typekit 得到这个答案:

很抱歉你遇到了这个问题。不幸的是,我们已经看到了其中一些问题: Safari 和 Chrome 中的 optimizeLegibility。它似乎非常随机并影响某些字体。

很抱歉,除了向 Safari/Webkit 提交错误外,我们对此无能为力。

你能告诉我哪个字体显示了这个问题吗?让我知道,我们会从那里拿走它。

希望他们能想出办法:)

编辑:我现在从 Typekit 得到了更多答案。

对于大标题,您可以简单地使用 CSS 更改设置。这样,您在 Firefox 中的起始位置相同:

文本渲染:optimizeSpeed;

这将改变 Firefox 和其他的文本渲染。然后你可以用 lettering.js 紧缩。

我希望这有帮助。如果您还有其他问题,请告诉我。

但是我已经尝试过了,所以我让他们知道,不幸的是他们无法再帮助我解决这个问题。

我附上了一张它在不同浏览器中的样子的图片,所有浏览器都使用 Windows 7..

使用 Abril Display 在不同浏览器上使用 typekit 进行文本渲染

0 投票
1 回答
1426 浏览

c# - 在 3D 中绘制文本

我试图弄清楚如何在 3D 中绘制文本。

现在我有两种方法可以在屏幕上显示内容。一种使用通常的 3d 空间来渲染世界,并使用额外的渲染来渲染以预转换方式进行的 HUD。

因此,理想情况下,我想要一种对文本执行相同操作的方法,既可以 3D 渲染字符串(有点像“广告牌”方式),也可以使用预转换方式(就像我使用 2d 模式一样)。

我唯一能找到的是使用“Mesh.FromText”,但它似乎不是我需要的。哦,还使用 ​​spritebatch 将文本绘制到纹理,然后在 3D 中使用此纹理和 alpha 混合,但这似乎是一种糟糕的方法......

有任何想法吗?

0 投票
3 回答
1050 浏览

performance - 当每个字符需要单独放置和格式化时,如何快速渲染文本?

我尝试在屏幕上显示格式化文本。首先解析非常简单的 HTML 文本(有 b、u、i 之类的标签),然后使用Canvas.TextOut函数以适当的位置和字体呈现每个字符。

我注意到的第一件事是,画布上每个单独字符的渲染都相当慢。整个句子的渲染要快得多。很明显,当画布被迫重新绘制时,当表单在屏幕上移动时。

一种解决方案是用均匀的字体对字符进行聚类并立即渲染它们。但是,当格式丰富时,它不会有太大帮助。此外,我需要字符是离散的实体,可以以任何方式呈现。例如,没有 WinAPI 支持文本对齐 taJustify 或块写入...

另一种方法是在位图上渲染,或者明智地使用ClipRectTCanvas 的属性(我还没有尝试过)。

无论如何,当在 TRichEdit 中显示相同格式的文本时,重绘操作不会造成时间损失。另一个简单的例子是所有主要的浏览器,它们显示大量格式化文本没有问题......他们是否像我一样渲染每个字符,但他们做得更有效???我不知道。

那么你知道一些加速应用程序的方法吗(格式化文本渲染?)。

感谢您的想法...

示例代码:(使TForm尽可能大,用鼠标抓住它并在屏幕下向下拖动它。当你将它向上移动时,你会看到“跳跃”的运动)

0 投票
1 回答
488 浏览

c++ - 文本呈现错误,每个字符都是一个白色矩形

我想在我的 OpenGL 应用程序中显示一些文本,并且已经在使用 SFML 来创建窗口和上下文。我不想添加另一个库并尝试使用 SFML (2.0) 提供的文本呈现。

呈现的文本由白色矩形组成(矩形与它们应该大致显示的字符的高度相匹配)。

在我添加了一些方法以保持 OpenGL 状态与使用 SFML 文本之前的状态相同之后,其他所有内容都正确呈现。如果没有这些方法,则不会渲染任何内容,但会使用正确的颜色缓冲区清除颜色。

我使用 GLSL 进行纹理和照明(如果需要,可以提供源和屏幕截图)。

我使用的代码:

文本实例是这样创建的:

我正在使用 3.3 兼容性配置文件上下文、3.3 GLSL 和 2.0 SFML(从源代码编译)。

0 投票
1 回答
1234 浏览

html - 由于文本渲染,日文字符在 chrome 中显示为框:优化易读性;

在我的网站中,我使用的是Font-Awesome库。text-rendering: optimizelegibility;它在标题标签上应用 css 属性。当 laguage 是日语时,这会破坏我的网站。

正如您在DEMO中看到的那样,使用此属性时会显示框。我真的不明白这个属性的作用,所以将它覆盖为自动是否安全?

注意:此属性在 Firefox 中运行良好,但在 google chrome 中出现问题。

感谢帮助 :)

编辑:这个问题特定于window-XP

我还在 chrome 网站上打开了一个问题:http ://code.google.com/p/chromium/issues/detail?id=159391

0 投票
2 回答
9852 浏览

java - How to increase Graphics2D text quality?

I have a question concerning printing additional information on barcodes. I am using http://barbecue.sourceforge.net/ to create my barcodes.

After I created my barcodes I want to add some additional information. At the moment i do this with the following way! For example:

The output is in a pdf the following: enter image description here

As you can see is the quality of my text (above and under the barcode) is really bad ... How can I increase the quality of the text to make the text more smoother and not that pixelated?!

(When I print my barcodes, the barcodes look very pixelated ...)

Any tips?

UPDATE:

So, I added here the a picture of my latest outcome ... When I print out these barcodes they look horrible! So here is the code what I did:

With that Code I get the best results! Of course I played with "Metrics, AA_GASP, LCS_HRGB, different fonts (Verdana is the best in my opinion) ..." and a lot more, but some of them I couldn't use, because then my barcode got blurred! So actioally I am forcing the problem that I am unable to improve the quality of my text-quality of the drawstring from graphics2d!

So, I want to ask if there is a possibility to let the "SSYYS" (Font Size 11) and the "FLORETT" (Font Size 7) look much nicer! Is there a possibility in JAVA to draw "smooth" text on an image with a font size less than "12" ? Is there a workaround to to that ? As you can see in the picture the letters "S and Y" look very awful...

2nd Update:

Some Example code so far... Please be sure that the following folder exists: C:\TestBarcodes\

Hope I reduced my code to the minimum that you can imagine what my problem is...

enter image description here

0 投票
2 回答
2042 浏览

qt - 在 QML 中嵌入 Latex 的可能性

我正在做一个类似于这个的 QML(带有 C++ 后端)的演示系统。

我希望能够包含一些 Latex 代码来显示一些数学(只需要最低的 Latex 功能,例如总和、分数、超级和子带以及数学字体)。

我看到以下可能性:

  • 使用latex2e
    1. 将 Latex 代码编译为 DVI 文档(带latex
    2. 将 DVI 转换为 SVG(使用dvisvgm
    3. 使用ImageQML 显示这个(它也支持 SVG)
  • 使用MathJax
    1. 将 Latex 代码包装在一个小的 HTML 文件中 + 包含 MathJax JS 库
    2. WebKit使用QML显示此内容
  • 自定义解决方案(C++):
    1. 编写或包含现有的最小 Latex 数学解析器
    2. QDeclarativeItem用自定义绘画写一个

还有其他我看不到的解决方案吗?我更喜欢第一个解决方案,因为第二个听起来太重了,第三个太难了。

我看到数学公式的基线存在以下问题:我希望能够包含内联公式(在一段内)。目前,文本段落是使用 QML Text 元素呈现的。是否有可能在具有指定基线的 Text 元素(可能使用 HTML img 元素)中包含图像?另外,如何确定渲染的 Latex 文档的基线?

注意:预渲染 Latex 代码的时间没有问题。我将缓存已经渲染的公式,因此在演示文档中包含的每个公式上调用latex+应该没有问题。dvisvgm

另请注意,我使用了预处理器(我不手动编写 QML 代码,而是生成它)。所以我不需要 Latex 代码的 QML 元素,但我可以生成一个带有 Image 元素的 QML 代码片段(对于第一个解决方案)。这应该简化嵌入渲染图像。

使用内联 Latex 时,我也不需要支持包装公式。(乳胶在编写内联公式时会这样做,但我只使用我不想被包装的小公式。)

0 投票
1 回答
1254 浏览

java - 如何将文本渲染到位图并绘制它

我是 android 新手,我的小组目前正在使用 opengl es 2.0 使用 GlSurfaceView 创建一个图形应用程序。

我们最近在绘图上显示了网格和刻度线,现在我被分配了实现数字刻度并将 x 和 y 轴标记为“X”和“Y”的任务。

在此处输入图像描述

经过大量研究后,我决定通过将一串字符渲染为位图来实现这一点。我在实现这一目标时遇到了很多问题。我了解基本概念。我知道我需要字母数字字符“0123456789”和“XY”和“-”(用于 -x 和 -y 刻度)。我已经看到了许多不同的例子,并在这里广泛尝试遵循 JVitella 的例子

我开始掌握这个概念,但就我的字符串而言,我知道我有 13 个字符,那么我的位图应该有多大?

同样在 Jvitelas 示例中,我对代码感到目瞪口呆:

我不明白到底发生了什么,当我编写代码时,我在上下文中收到语法错误。

对于我的应用程序,我知道我需要将字符串保存到一个位图中,就像这样。我会创建一个位图,但它应该有多大?然后我从位图和 canvas.drawText 创建一个画布到位图中。

基本上我在问:

  • 如何实现上面的以下位图?
  • 我将如何从位图中绘制单个数字?
  • 我将如何绘制多于一位的数字?
0 投票
1 回答
591 浏览

css - 旋转时文字混乱

我的网站上有文本旋转 45 度的区域,不幸的是,有时该文本的渲染会搞砸。例如,在使用 FF 和 chrome 的 linux 上看起来还不错,但是在 windows 上的相同浏览器上看起来很糟糕。然而,IE 9-10 完美地呈现了旋转的文本。有什么办法可以克服这个乱七八糟的文字吗?

这是一个示例: 示例

PS 我不能使用图像来替换文本,我需要旋转的动态文本。

谢谢

0 投票
2 回答
2101 浏览

python - PIL 切断字母的顶部

我花了很多时间使用 Python 制作我的第一个 Web 应用程序,并且我正在使用生成图像。在阅读了很多之后,我设法实现了正确的文本对齐、换行、生成具有许多扩展名的文件等。

但是,PIL 生成的所有文本都在顶部被截断。这是一个示例。

PIL 生成的图像示例,顶部的文本被截断

它应该ŻÓĆjygpq以多种字体显示(字体名称在左侧)。

我在这里找到了几篇文章:使用 PIL 进行字体剪辑,但我想避免使用另一个模块(aggdraw);因为我已经在 PIL 中找到了很多东西,所以我想坚持下去。

我尝试了许多不同大小的字体,但文本仍然被截断。我什至尝试使用 PIL 字体,但它仍然不起作用。[还将 OTF 转换为 BDF 和 PIL]。

这是在 Ubuntu 上。接下来我应该尝试什么?