[修正] Firemonkey Android 文字斜粗体显示不全的问题

问题:Firemonkey Android 平台显示斜粗体文字时,文字右方会有显示不全的问题。

修正代码:

请将 FMX.FontGlyphs.Android.pas 复制到自己的工程目录下,再修改如下代码:

function TAndroidFontGlyphManager.DoGetGlyph

... 略 ...

      if Bounds.left < 0 then
        Width := Width - Bounds.left;

{+++>}
      // 加入修正代码: 文字斜粗显示 by Aone 2017.05.26
      if FPaint.getTypeface.isItalic then
      begin
           Width := Round(Width + Width * 0.125);
           if FPaint.getTypeface.isBold then
              Width := Round(Width + Width * 0.1);
      end;
{<+++}

      Bitmap := TJBitmap.JavaClass.createBitmap(Width, Height, TJBitmap_Config.JavaClass.ARGB_8888);

... 略 ...

end;

修正效果:

未修正 修正后
时间: 2024-08-23 04:19:43

[修正] Firemonkey Android 文字斜粗体显示不全的问题的相关文章

Android之在string.xml配置文字颜色粗体等效果

string.xml <string name="exchange_txt_hint"><Data><![CDATA[请使用<font color="#ff0000"><b>%1$s</b></font>牛兑换<font color="#ff0000"><b>%2$s</b></font>%3$s 上网时长]]>&l

文字排版--粗体(font-weight)

我们还可以使用css样式来改变文字的样式:粗体.斜体.下划线.删除线,可以使用下面代码实现设置文字以粗体样式显示出来. p span{font-weight:bold;} 在这里大家可以看到,如果想为文字设置粗体是有单独的css样式来实现的,再不用为了实现粗体样式而使用h1-h6或strong标签了. <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content=&q

文字排版--粗体

文字排版--粗体 我们还可以使用css样式来改变文字的样式:粗体.斜体.下划线.删除线,可以使用下面代码实现设置文字以粗体样式显示出来. p span{font-weight:bold;} 在这里大家可以看到,如果想为文字设置粗体是有单独的css样式来实现的,再不用为了实现粗体样式而使用h1-h6或strong标签了. <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c

Echarts中axislabel文字过长导致显示不全或重叠

最近在使用Echarts的时候,遇到点问题就是xAxis文字过长导致x轴的文字显示不全. 解决方案如下: 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> 2 <HEAD> 3 <TITLE>my_echarts</TITLE> 4 <META HTTP-EQUIV="Content-Type" CONTEN

[修正] Firemonkey Android Edit 可输入 Emoji (颜文字)

问题:在 Android 平台下,TEdit 输入 Emoji 文字,无法显示彩色(皆为黑色),即使将 Edit.ControlType = Platform 设为平台原生控件,还是没用(真机测试 Style 与 Platform 是一样的,而 iOS 平台则不同). 修正方法: 请将源码 FMX.TextLayout.GPU.pas 复制到自己的工程目录里,再进行修改. procedure TTextLayoutNG.DoDrawLayout(const ACanvas: TCanvas);

Echarts-axislabel文字过长导致显示不全或重叠

先看两张图 按目前情况,官方并为对axislabel的高度或者宽度做调整.所以解决方案只能从其他方案下手 解决方案有几种 第一种为上图解决方案 设置grid属性定义图的大小来释放空间,使得axislabel有足够的空间 /** 参数传值全部为数组 * @param names x轴值 * @param xycounts * @param zscounts * @param xypjjlrs * @param zspjjlrs */ function drawZZTZXTBJ(names,xyco

Android adb logcat输出日志显示不全解决方案

在终端中使用adb logcat打印服务器json数据,如果返回数据过大超过4000字节(4K)即会截断不显示 原因:logcat在对于message的内存分配大概是4k左右.所以超过的内容都直接被丢弃; 解决方案:切分超过4k的message,使用多个Log.i输出 public static void showLog(String str) { str = str.trim(); int index = 0; int maxLength = 4000; String finalString;

文字排版--字体、字号、颜色、粗体、斜体、下划线、删除线

我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性.下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体. body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果用户本地电脑上如果没有安装你设置的字体,就会显示浏览器默认的字体.(因为用户是否可以看到你设置的字体样式取决于用户本地电脑上是否安装你设置的字体.)现在一般网页喜欢设置"微软雅黑",如下代码: body{font-family:"Micr

调整 FMX Android 文字显示「锯齿」效果

说明:调整 Firemonkey Android 显示文字有「锯齿」效果 适用:Firemonkey Android 平台 修改方法: 请将源码 FMX.FontGlyphs.Android.pas 复制到自己的工程目录里,再进行修改. // 找到这行 FPaint.setAntiAlias(True); // 抗锯齿 // 改成如下 FPaint.setAntiAlias(False); // 锯齿 效果: 上(抗锯齿)FPaint.setAntiAlias(True); 下(锯齿)FPain