阿拉伯语中的字母间距

Letter spacing in Arabic language

我正在开发 Flutter 移动应用程序。我想要实现的是使用 letterSpacing 属性.

分隔 TextFormField 中的字符

字母间距在英语中可以正常工作。问题是当我使用阿拉伯字符时,字母仍然连接在一起并且没有分开,如下所示:

预期结果:阿拉伯字符出现分隔,例如:ا ل ا س م ا ل ا و ل

实际结果:阿拉伯字符拼接在一起,字母间距被忽略 例如:الاسم الأول

如何实现此功能,是否有解决此问题的方法。

这是一个使用 Dart pad 的代码示例:

import 'package:flutter/material.dart';

const Color darkBlue = Color.fromARGB(255, 18, 32, 47);

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(
        scaffoldBackgroundColor: darkBlue,
      ),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return const Text(
      'الاسم الأول',
      style: TextStyle(letterSpacing: 4),
    );
  }
}

有一天我遇到了同样的问题,我找到的唯一解决方案是拆分字符并重新加入它们,例如:

Text(
        'الاسم الأول'.split("").join(" "),
      )

输出结果如您所愿: