是否有任何现代浏览器和平台都支持可打印的非空白 Unicode 字符?

Are there printable, non-whitespace Unicode characters supported by any modern browser and platform?

对于随机密码生成器,我想选择性地生成包含非空白、非控制字母和类字母 unicode 字符的随机密码。用户会将系统默认 unicode 编码(例如 UTF-8)中生成的密码复制并粘贴到浏览器 windows 和 browser/platform.

上的文本输入小部件中

但是,我不知道在通用用户配置中,跨操作系统 Windows、Linux、macOS、Android 和 iOS 支持哪些字符最近的浏览器。是否有一些支持 unicode 的所有平台都支持的最小 unicode 符号列表?

还是完全取决于用户的配置,即使用哪种系统字体?我应该坚持使用我已经实现的 ascii 和 latin1 生成器吗?

确保浏览器可以显示国际 运行 文本的唯一方法是使用 web fonts。对于应用程序,它会更简单一些,因为您可以将字体与应用程序捆绑在一起并同时安装。

在这两种情况下,您都需要检查所选字体的许可是否允许您预想的分发类型。所以不太适合通用密码生成器。

请注意,除非使用非常特定的键盘布局/输入法,否则许多 unicode 组合无法输入。因此,您将强制用户复制和粘贴他无法输入的密码。

最后,一个unicode编码点不一定对应一个符号。许多编码点正在组合符号,这些符号只能以特定顺序与特定其他符号一起使用。

你真的应该从添加 "simple" unicode 块开始,例如基本的希腊字母或西里尔字母、dingbat 块、箭头和工程符号,避免任何组合,避免连字、变音符号、复杂的亚洲脚本等。

大多数没有插件的现代系统应该支持希腊语和西里尔语,尤其是西里尔语。与大多数亚洲文字相比,它们只需要很少的符号,只有最狂热的准系统才会跳过它们。

Dingbat 和 arrows/engineering 符号将需要特定字体以确保支持,但这些很容易找到(例如,在 symbola) and this kind of symbol won't require a text engine capable of complex text. Avoid math symbols or carefully screen them, quite a lot of them combine fileformat.info 中会告诉您常见字体中可用的符号。那需要知道哪种字体附带哪种 OS,并了解字体版本(同一字体的更高版本可能包含更多字形,但很少有系统更新它们附带的字体)。

这应该足以加强您的生成器而不会遇到奇怪的极端情况。