当硬件加速为真时,画布上不显示Android严重重音

时间:2013-08-12 09:22:47

标签: android-canvas diacritics hardware-acceleration text-rendering

大家。 这是我在stackoverflow中的第一个问题。 我希望你能理解我的英语不好。

我在画布上画出严肃的重音时发现了一个奇怪的问题。我一直在测试在android上的画布上绘制文本,然后我意识到硬件加速画布不会画出很少的重音。

这是代码和属性。

  • hardwareAccelerated:true

    canvas.drawText("\u0E36", 100,  100, paint);
    canvas.drawText("isHardwareAccelerated : " + isHardwareAccelerated(), 150, 200, paint);
    

    以上代码不会在画布上绘制\ u0E36字符。

  • hardwareAccelerated:false,带空格的Unicode(或任何字符串)

    canvas.drawText(" \u0E36", 100,  100, paint);
    canvas.drawText("isHardwareAccelerated : " + isHardwareAccelerated(), 150, 200, paint);
    

    以上代码在画布上绘制\ u0E36字符。

  • hardwareAccelerated:false

    canvas.drawText("\u0E36", 100,  100, paint);
    canvas.drawText("isHardwareAccelerated : " + isHardwareAccelerated(), 150, 200, paint);
    

    以上代码在画布上绘制\ u0E36字符。

我意识到当我将硬件加速设置为true时,如果没有字符串,则不会显示严重重音。

但是,如果我在严重重音之前放置任何字符或空格,它就会起作用。

并且,如果我将硬件加速设置为false,则canvas会绘制没有任何字符串的严重重音。

我的问题是,当画布硬件加速时,为什么画布不会画出严重的重音?

我猜它与硬件渲染和软件渲染有关。 但我不知道究竟是为什么。

这是我想用硬件加速在画布上绘制的内容。 这是泰国人的性格。我发现一些拉丁坟墓的口音也没有在画布上显示出来。

http://www.unicodemap.org/details/0x0E36/index.html

我的声望点是0,所以我无法发布它们的图片。 我希望你们能理解我的英语不好。

0 个答案:

没有答案