- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Paint.measureText 对于阿拉伯语文本不准确。这是我尝试过的:
我有一个 TextView tv1。
tv1.getWidth();
给出 480,没问题。 tv1.getPaint().measureText("المؤلف : عبدالرحمن ابن أبي بوأو الفضل السيوطي");
给出 502,它比屏幕宽度大。
不好的结果,因为文本占据了大约 80% 的线宽!结果应该在 400 左右。
谢谢。
最佳答案
我今天遇到了这个问题。一切都按预期工作,你应该知道当你的文本包含像 ّ ِ ُ َ
字符这样的阿拉伯语元音时,它们都在宽度中作为单独的字符计算,而 android Paint.measureText 不知道它不应该考虑这些字符,因为它们不会增加额外的宽度并且它们将绘制在其他字符的顶部和底部。
解决方案是:您应该先从文本中删除这些字符,然后测量您的文本。
关于阿拉伯语的 Android TextView measureText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9852576/
我在使用 skia measureText() 函数测量文本时遇到问题。返回值不准确。 SkPaint *skPaint = new SkPaint(); SkTypeface* myFont = S
我预计 TAB 字符会比 SPACE 字符宽,但在 HTML5 canvas 中,它们是相同的。加上其他一些,这不是那么重要: var c=document.getElementById('mycan
我有一个位图对象,我想在其上绘制一些文本。该文本应该针对给定点正确对齐。这就是我现在的做法: newBitmap = Image.FromFile(bg) as Bitmap; Graphics g
所以我使用Paint的measureText()方法来测量一段文本的宽度,但是我想根据一定的文本大小来测量文本。假设我想获得一个文本段的宽度,当它占据某个 TextView 时,它将是 20 个缩放像
嗨,我正在使用 TextRenderer.MeasureText() 方法来测量给定字体的文本宽度。我使用 Arial Unicode MS 字体来测量宽度,这是一种包含所有语言字符的 Unicode
调用 TextRenderer.MeasureText 如下: TextRenderer.MeasureText(myControl.Text, myControl.Font); 并将结果与控件的
我有一个长字符串(约 10 万个字符)。我需要知道这个字符串的长度。我叫 Size s = TextRenderer.MeasureText(graphics, text, font); 但它返回宽度
我正在使用 measureText() 一次显示一个字符的文本,但它给了我错误的值。 我有一个绘制字符的函数 drawChar(ch)、一个上下文“ctx”和一个将字符定位在 Canvas 上的变量“
我想使用 cavsTxt.measureText 找到文本元素的宽度。根据宽度,我会检查它是否从父元素溢出。我在更改字体系列及其大小时得到了不同的宽度。 cavsElem = document.cre
根据 MDN , .measureText().width “包含以 CSS 像素为单位的文本的提前宽度(该行内框的宽度)”,这意味着屏幕上的显示大小,这意味着如果我调用 .scale(2,2) 在我
Paint.measureText 对于阿拉伯语文本不准确。这是我尝试过的: 我有一个 TextView tv1。 tv1.getWidth(); 给出 480,没问题。 tv1.getPaint()
我试图在我的 TextBox 子类中绘制 80 个字符的边距。这是我的代码: class FooTextBox : TextBox { ... void UpdateMarginPos
我想我不知道要使用什么搜索词,这应该很简单...我用什么来确定字符串的宽度(以英寸为单位)。 Dim sSize As System.Drawing.SizeF Dim
编辑:最初我只检查了桌面浏览器 - 但对于移动浏览器,情况更加复杂。 我遇到了一些浏览器及其文本呈现功能的奇怪问题,我不确定是否可以采取任何措施来避免这种情况。 Android 上的 WebKit 和
我试图在 HTML Canvas 上的一串字符下画一条线,但从 measureText 返回的值是错误的。 代码如下: var theCanvas = document.querySelector(
在canvas中测量文本时,经常会看到如下代码 w = c.measureText(d.text + "m").width 来自 https://github.com/jasondavies/d3-c
我需要计算客户提供的所有文本的长度(以像素为单位)。问题是他们只提供了一种常规字体,而斜体样式必须由 Android 呈现。一个已知的 Android 错误是,对于斜体(呈现为斜体)字体,未正确计算
我想在给定一定宽度的可用 Canvas 的情况下测量文本的高度。我传递的文本很长,我知道会换行。为此,我调用以下方法: using System.Windows.Forms; ... string t
我正在使用 Paint.getTextBounds() 测量文本,因为我对获取要呈现的文本的高度和宽度感兴趣。但是,实际呈现的文本总是比 .width() 宽一点。的Rect getTextBound
如果我给 TextRenderer.MeasureText 一些要测量的文本和要使用的宽度,它将返回显示该文本所需的高度。 private static int CalculateHeight(str
我是一名优秀的程序员,十分优秀!