C++ 文本宽度计算模块
这通常是在javascript中完成的,用于计算项目的宽度,但出于各种原因,我需要将此宽度指定给javascript。我使用的模块是C++(通过EnScript)编译的,我想知道是否有任何C++(或C)库能够根据文本、字体大小和字体族来计算文本宽度。例如:C++ 文本宽度计算模块,c++,c,C++,C,这通常是在javascript中完成的,用于计算项目的宽度,但出于各种原因,我需要将此宽度指定给javascript。我使用的模块是C++(通过EnScript)编译的,我想知道是否有任何C++(或C)库能够根据文本、字体大小和字体族来计算文本宽度。例如: int get_pixel_width(char * str, float font_size, char * font_family); 我知道有一些东西可以做到这一点,但在C/C++中找不到任何东西可以用一种平台无关的方式做到这一点。例
int get_pixel_width(char * str, float font_size, char * font_family);
我知道有一些东西可以做到这一点,但在C/C++中找不到任何东西可以用一种平台无关的方式做到这一点。例如,(与字体引擎(如)结合使用)可以获取文本字符串,并计算字符串中每个字形的大小和位置,不仅考虑字距和前导,还考虑一些脚本中的字形等具有不同的形状和位置,这取决于它们是否在开头、中间、中间、,或者一个词的结尾
尽管如此,Harfbuzz仍然是一个相当低级的库,主要用于高级渲染库等。在大多数情况下,无论你使用的渲染方法都可能提供比Harfbuzz更简单的更高级的例程。这是操作系统/GUI工具包的特定,没有通用的C或C++解决方案。C和C++都是平台无关的。语言本身不知道或不关心是否有图形显示,更不用说它的分辨率了。要做到这一点,您需要找到一个特定于平台的库。因此,您需要询问文本的像素宽度。我假设它是指非固定宽度字体中的文本表示。通常,确定该宽度是软件创建该表示的一部分。请提供更多的背景资料。无论提供什么样的“创建文本”都应该提供一个宽度API。你看过吗?它要求从Emscripten内部用C++访问HTML <代码> div < /COD>元素属性。不确定这是否可能。