问题标签 [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.
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..
c# - 在 3D 中绘制文本
我试图弄清楚如何在 3D 中绘制文本。
现在我有两种方法可以在屏幕上显示内容。一种使用通常的 3d 空间来渲染世界,并使用额外的渲染来渲染以预转换方式进行的 HUD。
因此,理想情况下,我想要一种对文本执行相同操作的方法,既可以 3D 渲染字符串(有点像“广告牌”方式),也可以使用预转换方式(就像我使用 2d 模式一样)。
我唯一能找到的是使用“Mesh.FromText”,但它似乎不是我需要的。哦,还使用 spritebatch 将文本绘制到纹理,然后在 3D 中使用此纹理和 alpha 混合,但这似乎是一种糟糕的方法......
有任何想法吗?
performance - 当每个字符需要单独放置和格式化时,如何快速渲染文本?
我尝试在屏幕上显示格式化文本。首先解析非常简单的 HTML 文本(有 b、u、i 之类的标签),然后使用Canvas.TextOut
函数以适当的位置和字体呈现每个字符。
我注意到的第一件事是,画布上每个单独字符的渲染都相当慢。整个句子的渲染要快得多。很明显,当画布被迫重新绘制时,当表单在屏幕上移动时。
一种解决方案是用均匀的字体对字符进行聚类并立即渲染它们。但是,当格式丰富时,它不会有太大帮助。此外,我需要字符是离散的实体,可以以任何方式呈现。例如,没有 WinAPI 支持文本对齐 taJustify 或块写入...
另一种方法是在位图上渲染,或者明智地使用ClipRect
TCanvas 的属性(我还没有尝试过)。
无论如何,当在 TRichEdit 中显示相同格式的文本时,重绘操作不会造成时间损失。另一个简单的例子是所有主要的浏览器,它们显示大量格式化文本没有问题......他们是否像我一样渲染每个字符,但他们做得更有效???我不知道。
那么你知道一些加速应用程序的方法吗(格式化文本渲染?)。
感谢您的想法...
示例代码:(使TForm尽可能大,用鼠标抓住它并在屏幕下向下拖动它。当你将它向上移动时,你会看到“跳跃”的运动)
c++ - 文本呈现错误,每个字符都是一个白色矩形
我想在我的 OpenGL 应用程序中显示一些文本,并且已经在使用 SFML 来创建窗口和上下文。我不想添加另一个库并尝试使用 SFML (2.0) 提供的文本呈现。
呈现的文本由白色矩形组成(矩形与它们应该大致显示的字符的高度相匹配)。
在我添加了一些方法以保持 OpenGL 状态与使用 SFML 文本之前的状态相同之后,其他所有内容都正确呈现。如果没有这些方法,则不会渲染任何内容,但会使用正确的颜色缓冲区清除颜色。
我使用 GLSL 进行纹理和照明(如果需要,可以提供源和屏幕截图)。
我使用的代码:
文本实例是这样创建的:
我正在使用 3.3 兼容性配置文件上下文、3.3 GLSL 和 2.0 SFML(从源代码编译)。
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
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:
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...
qt - 在 QML 中嵌入 Latex 的可能性
我正在做一个类似于这个的 QML(带有 C++ 后端)的演示系统。
我希望能够包含一些 Latex 代码来显示一些数学(只需要最低的 Latex 功能,例如总和、分数、超级和子带以及数学字体)。
我看到以下可能性:
- 使用latex2e:
- 将 Latex 代码编译为 DVI 文档(带
latex
) - 将 DVI 转换为 SVG(使用
dvisvgm
) - 使用
Image
QML 显示这个(它也支持 SVG)
- 将 Latex 代码编译为 DVI 文档(带
- 使用MathJax:
- 将 Latex 代码包装在一个小的 HTML 文件中 + 包含 MathJax JS 库
WebKit
使用QML显示此内容
- 自定义解决方案(C++):
- 编写或包含现有的最小 Latex 数学解析器
QDeclarativeItem
用自定义绘画写一个
还有其他我看不到的解决方案吗?我更喜欢第一个解决方案,因为第二个听起来太重了,第三个太难了。
我看到数学公式的基线存在以下问题:我希望能够包含内联公式(在一段内)。目前,文本段落是使用 QML Text 元素呈现的。是否有可能在具有指定基线的 Text 元素(可能使用 HTML img 元素)中包含图像?另外,如何确定渲染的 Latex 文档的基线?
注意:预渲染 Latex 代码的时间没有问题。我将缓存已经渲染的公式,因此在演示文档中包含的每个公式上调用latex
+应该没有问题。dvisvgm
另请注意,我使用了预处理器(我不手动编写 QML 代码,而是生成它)。所以我不需要 Latex 代码的 QML 元素,但我可以生成一个带有 Image 元素的 QML 代码片段(对于第一个解决方案)。这应该简化嵌入渲染图像。
使用内联 Latex 时,我也不需要支持包装公式。(乳胶在编写内联公式时会这样做,但我只使用我不想被包装的小公式。)
java - 如何将文本渲染到位图并绘制它
我是 android 新手,我的小组目前正在使用 opengl es 2.0 使用 GlSurfaceView 创建一个图形应用程序。
我们最近在绘图上显示了网格和刻度线,现在我被分配了实现数字刻度并将 x 和 y 轴标记为“X”和“Y”的任务。
经过大量研究后,我决定通过将一串字符渲染为位图来实现这一点。我在实现这一目标时遇到了很多问题。我了解基本概念。我知道我需要字母数字字符“0123456789”和“XY”和“-”(用于 -x 和 -y 刻度)。我已经看到了许多不同的例子,并在这里广泛尝试遵循 JVitella 的例子
我开始掌握这个概念,但就我的字符串而言,我知道我有 13 个字符,那么我的位图应该有多大?
同样在 Jvitelas 示例中,我对代码感到目瞪口呆:
我不明白到底发生了什么,当我编写代码时,我在上下文中收到语法错误。
对于我的应用程序,我知道我需要将字符串保存到一个位图中,就像这样。我会创建一个位图,但它应该有多大?然后我从位图和 canvas.drawText 创建一个画布到位图中。
基本上我在问:
- 如何实现上面的以下位图?
- 我将如何从位图中绘制单个数字?
- 我将如何绘制多于一位的数字?
css - 旋转时文字混乱
我的网站上有文本旋转 45 度的区域,不幸的是,有时该文本的渲染会搞砸。例如,在使用 FF 和 chrome 的 linux 上看起来还不错,但是在 windows 上的相同浏览器上看起来很糟糕。然而,IE 9-10 完美地呈现了旋转的文本。有什么办法可以克服这个乱七八糟的文字吗?
这是一个示例: 示例
PS 我不能使用图像来替换文本,我需要旋转的动态文本。
谢谢
python - PIL 切断字母的顶部
我花了很多时间使用 Python 制作我的第一个 Web 应用程序,并且我正在使用pil生成图像。在阅读了很多之后,我设法实现了正确的文本对齐、换行、生成具有许多扩展名的文件等。
但是,PIL 生成的所有文本都在顶部被截断。这是一个示例。
它应该ŻÓĆjygpq
以多种字体显示(字体名称在左侧)。
我在这里找到了几篇文章:使用 PIL 进行字体剪辑,但我想避免使用另一个模块(aggdraw);因为我已经在 PIL 中找到了很多东西,所以我想坚持下去。
我尝试了许多不同大小的字体,但文本仍然被截断。我什至尝试使用 PIL 字体,但它仍然不起作用。[还将 OTF 转换为 BDF 和 PIL]。
这是在 Ubuntu 上。接下来我应该尝试什么?