突出阿拉伯语元音

时间:2015-01-27 08:28:31

标签: 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标签为阿拉伯语元音着色时,元音变得不对齐和无用(参见上面的示例)。是否可以选择突出这些元音?

2 个答案:

答案 0 :(得分:0)

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

当您在JAVA中使用HTML时,我假设您可以使用全范围的CSS样式命令。这是HTML / CSS中的一种方法,希望这能为您提供解决方案:

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

答案 1 :(得分:0)

尝试一下:

     <head>
       <style>
         body{
           font-size:2em;
           direction:rtl;}
       </style>
       <meta charset="UTF-8">
    </head>


     <span>ب&zwj;<span style="color:red;">ٌ</span>&zwj;ا</span>