标签: text-rendering

文本输出Sublime Text使用什么底层图形库?

我注意到,与基于Scintilla的编辑器相比,Sublime Text对某些字体和大小的渲染要好得多.这是如何实现的?它下面是否有一些着名的文字渲染器或者它们自己开发了?

text-rendering sublimetext

7
推荐指数
1
解决办法
1313
查看次数

使用cairo和freetype进行字体布局和渲染

我有一个只有freetype2和cairo库的系统.我想要实现的是:

  • 获取UTF-8文本的字形
  • 布局文本,存储位置信息(由我自己)
  • 获取每个字形的cairo路径以进行渲染

不幸的是,文档并没有真正解释它应该如何完成,因为他们希望使用像Pango这样的更高级别的库.

认为可能是正确的:创建一个缩放字体,cairo_scaled_font_create然后使用检索文本的字形cairo_scaled_font_text_to_glyphs.cairo_glyph_extents然后给出每个字形的范围.但是,我怎么能得到像字距调整和进步这样的东西呢?另外,我怎样才能获得每种字体的路径?

有关此主题的更多资源吗?这些功能是预期的方式吗?

c fonts freetype text-rendering cairo

7
推荐指数
1
解决办法
2703
查看次数

用PIL剪切字体

此图像是使用PIL创建的.看看这张图片中的g和y是如何被截断的?我怎么能阻止这个?

http://img109.imageshack.us/img109/8874/screenshotep.png

创建此图像的代码非常简单(缩写):

import Image, ImageDraw, ImageFont

im = Image.new("RGBA", (200, 200), 'white')
draw = ImageDraw.Draw(im)

font = ImageFont.truetype("VeraSe.ttf", 12)

draw.text(
           (1, 1),
           " %s: " % "ggjyfFwe__",
           font=font,
           fill='black'
)

draw.text(
           (1, 30),
           " %s" % 15,
           font=font,
           fill='black'
)

im.show()
Run Code Online (Sandbox Code Playgroud)

我尝试使用几种不同的字体,它总是被剪裁.令人惊讶; y,googleing"PIL字体剪辑"返回很少有用的命中...我在Ubuntu 9.10上使用python 2.6.4和PIL 1.1.6

python fonts text-rendering python-imaging-library

6
推荐指数
1
解决办法
2380
查看次数

如何在Delphi TStringGrid中更改固定行中单元格中的文本方向

我在表单上有一个标准的TStringGrid.我在网格中有一个包含许多列的固定行,这些列都是TGridColumns对象.我使用对象检查器设置了列标题,默认方向是水平的.有什么方法可以使方向垂直(就像在Excel中的单元格中一样)?

text-rendering lazarus tstringgrid

6
推荐指数
1
解决办法
3356
查看次数

在QML中嵌入Latex的可能性

我做的QML类似于演示系统(含C++后端)这一个.

我希望能够包含一些Latex代码来显示一些数学(只需要最小的Latex功能,例如sums,fractions,super-substript和mathtript).

我看到以下可能性:

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

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

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

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

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

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

qt latex text-rendering qml

6
推荐指数
1
解决办法
1525
查看次数

什么是使用 Pango 将文本渲染为使用 FreeType 字体的图像的简单示例?

我想使用 Pango 呈现文本,但找不到不使用 Cairo 的示例代码。有人可以给我一个使用 FreeType 后端的 Pango 用法的简单示例吗?这就是我认为它应该大致工作的方式,但是正如您在代码中看到的那样,有些事情我还不明白。

// context and font stuff
PangoFontMap *fontmap = pango_ft2_font_map_new();
// do I have to initialize the fontmap?
PangoContext *context = pango_font_map_create_context(fontmap);
PangoFontDescription *desc = pango_font_description_new();
pango_font_description_set_style(desc, PANGO_STYLE_NORMAL); // not bold or italic
pango_font_description_set_size(desc, 12); // 12pt font
PangoFont *font = pango_context_load_font(context, desc);

// target bitmap
FT_Bitmap bitmap;
// how do I say how big the bitmap should be? write it into the struct?
FT_Bitmap_New(&bitmap);

// text
char *text = "Hello World"; …
Run Code Online (Sandbox Code Playgroud)

c pango freetype text-rendering

6
推荐指数
1
解决办法
4746
查看次数

在任何形式的VB.NET上居中标签

我需要显示一个带有居中标签的表单(根据表单的宽度和标签的文本,宽度,字体系列和字体大小).到目前为止,这是我的尝试:

(Me.Width - TextRenderer.MeasureText("Hello word", New Font("Delius", 10, 
FontStyle.Regular).Width) / 2
Run Code Online (Sandbox Code Playgroud)

无论我尝试多少,标签都不会出现应该居中的位置(标签的左右两侧看起来不一样).

无论使用哪种字体,还有其他方法来测量文本吗?谢谢.

vb.net text-rendering width measure

6
推荐指数
2
解决办法
2万
查看次数

为什么我的QML CJK文本使用损坏的字形呈现?

我的应用程序允许用户即时切换语言.我发现大约有10%的时间用户切换到中文或日文,UI文本的字形呈现不正确.

此应用程序在iMX6平台上的Linux下运行.Qt 5.5.0正在使用中.QML用于呈现UI.使用QML Text控件呈现损坏的文本.

损坏的字体渲染示例

正在使用的字体是Source Hans Sans Regular.我尝试使用QML FontLoader加载它,并将它在C++端加载到应用程序字体数据库中(两种方法都表现出问题).我尝试过使用(公认的非常强烈相关的)Noto字体; 同样的问题.

在使用Roboto进行非CJK文本时,我从未见过文本呈现的损坏,如上所述,这对CJK/Source Hans Sans来说更常见.

腐败是有趣的,因为它看起来像是在渲染的位图级别,而不是字形定义级别(请注意一些字形如何使下半部分正确,但上半部分已损坏).

腐败确实有时会进展.这让我认为字形位图缓存内存正在被进一步覆盖(只是一个理论,因为我不确定Qt如何进行字体渲染).我认为可能是QML垃圾收集做了一些奇怪的事情,但在C++端加载字体没有什么区别.

接下来,我将尝试使用"本机渲染"进行QML Text控件.

谁看过这个吗?任何人都可以确认FreeType用于Qt 5.5.0下的字体管理/渲染吗?有没有办法影响字体位图缓存的管理方式?

谢谢!

更新:使用'renderType:Text.NativeRendering'并没有消除问题(虽然腐败表现略有不同).而且,鉴于该模式的局限性,最终导致文本渲染效果差(软,缩放等等 - 如文档所述).

更新2:我建立了Qt(据我所知)所有禁用的字形缓存 - shouldDrawCachedGlyphs()在我的本地构建中为我能够找到的那个调用的四个实例返回false - 但仍然遇到字形损坏.

更新3:尝试通过设置QMLSCENE_DEVICE = softwarecontext per docs切换到使用软件(非OpenGL)Qt Quick 2渲染器; 字形腐败仍然发生.

qt glyph text-rendering cjk qml

6
推荐指数
1
解决办法
1358
查看次数

如何在 matplotlib 中创建直立的垂直文本?

在 Matplotlib 中创建一个旋转 90 度的 Text 对象很容易rotation='vertical',就像这样在此处输入图片说明

但我想创建这样的 Text 对象 在此处输入图片说明

如何?

python matplotlib text-rendering

6
推荐指数
1
解决办法
4540
查看次数

Flutter/Dart:更改字符串中特定 unicode 字符的颜色

我是 Flutter 新手,正在尝试使用代码来更改字符串中特定 Unicode 字符的颜色。颜色编码 \\u0951、\\u0952 和 \\u1cda 表示蓝色、红色和绿色。输出字符串与预期格式不匹配。我看到一些字符重复,并且在某些字符中,颜色被应用于相邻的字符。非常感谢任何帮助解决该问题的帮助。\n我希望代码能够在 Android 和 IOS 平台上运行。

\n

早些时候,当我使用 spannableStr 在 Android 中开发此应用程序时,我在 Kotlin 中有类似的代码,工作正常。\nFlutter Dart 代码是:

\n
import \'package:flutter/material.dart\';\n\nimport \'package:flutter/painting.dart\';\nimport \'package:google_fonts/google_fonts.dart\';\n\nclass TextModifierScreen extends StatefulWidget{\n  @override\n  State<StatefulWidget> createState() {\n    return TextModifierScreenState();\n  }\n}\n\nclass TextModifierScreenState extends State{\n\n  List<TextSpan> _displaySpans = [];\n  String inputString = "\xe0\xa4\xae\xe0\xa5\x83\xe0\xa5\x92\xe0\xa4\xa4\xe0\xa5\x8d\xe0\xa4\xaf\xe0\xa4\xb5\xe0\xa5\x87\xe0\xa5\x92 \xe0\xa4\xaf\xe0\xa5\x8b\xe0\xa5\x91 \xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\xb5\xe0\xa4\xbe\xe0\xa4\xb9\xe0\xa4\xbe\xe1\xb3\x9a \xe0\xa4\xad\xe0\xa5\x82\xe0\xa5\x92 \xe0\xa4\xae\xe0\xa5\x81\xe0\xa5\x92\xe0\xa4\xad\xe0\xa4\xaf\xe0\xa5\x8b\xe0\xa5\x92\xe0\xa4\xb0\xe0\xa4\xbe \xe0\xa5\xa5";\n\n  void replaceVowelsWithColor(String input) {\n    List<TextSpan> spans = [];\n    for (int i = 0; i < input.length; i++) {\n      String char = input[i];\n      int unicode = char.codeUnitAt(0);\n …
Run Code Online (Sandbox Code Playgroud)

typography text-rendering indic dart flutter

6
推荐指数
1
解决办法
301
查看次数