java - 突出显示阿拉伯语元音

标签 java html fonts colors arabic

这是我尝试在 Java 中突出显示阿拉伯元音的代码:

import java.awt.*;
import java.io.File;
import javax.swing.*;

public class JavaApplication1 {

    public static void main(String[] args) throws FontFormatException {
        JFrame frame = new JFrame("Arabic Test");
        JPanel panel = new JPanel();
        JButton button1 = new JButton("");
        JButton button2 = new JButton("");
        Font arabicFont = new Font("Arabic Typesetting", Font.TRUETYPE_FONT, 60);

        button1.setText("تَّ");
        button2.setText("<html>ت<font color='red'>َّ</font></html>");
        button1.setFont(arabicFont);
        button2.setFont(arabicFont);
        panel.add(button1);
        panel.add(button2);
        frame.setVisible(true);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setContentPane(panel);
        frame.pack();
    }
}

当我尝试使用 HTML 标签为阿拉伯元音着色时,元音变得不对齐且无用(请参见上面的示例)。有没有其他方法可以突出显示这些元音?

最佳答案

如果您将“Êَّ”写为一个字形,它只能有一种颜色。这意味着您需要将基本字形 (Ê) 与红色元音 (َّ ) 分开,并手动定位它们。

由于您在 JAVA 中使用 HTML,我假设您可以使用全部 CSS 样式命令。这是 HTML/CSS 中的一种方法,希望这能为您指明解决方案:

<span>
    <span style="position:absolute;">ت</span>
    <span style="color:red; position:absolute;">َّ</span>
</span>

关于java - 突出显示阿拉伯语元音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28166083/

相关文章:

javascript - 简单类型和删除效果不起作用

javascript - 访问 :before pseudo selector 上的样式属性 "content"

C# 如何在代码中定义字体回退序列

带有字体的 Android Canvas 旋转文本未正确保存在 SD 卡上

java - 跟踪实例属性更改

jquery - 交换导航栏 div 类的动画 jQuery 方法

java - JNA 如何包装用 C++ 编写的接口(interface)

ios - 在 iOS 上以小型大写字母排版字体

java - 我可以直接从 RecyclerView 获取实体房间数据并将其保存到房间数据库吗?

java - 努力比较最后 2/3/4 个字符 Java (repl.it 018 - 条件语句练习 4)