Unicode基本多语言平面是否足以容纳CJK扬声器?

Unicode基本多语言平面是否足以容纳CJK扬声器?,unicode,cjk,Unicode,Cjk,问题是:“仅支持Unicode BMP是否足以让母语为汉语/日语/韩语的用户使用母语为其母语的应用程序?” 我现在最关心的是说日语的人,但我也对中国人的答案感兴趣。如果应用程序仅支持BMP上的字符,是否会使该应用程序对中文/日语使用者不可用(即应用程序不允许数据输入/显示补充字符) 我不是在问BMP是否是任何应用程序所需要的唯一东西(显然不是——特别是对于全世界的所有语言)。我要求在专业环境中使用CJK扬声器,用于处理一般自由文本输入(包括名称、位置等)的现代普通应用程序-BMP一般足够吗 即使

问题是:“仅支持Unicode BMP是否足以让母语为汉语/日语/韩语的用户使用母语为其母语的应用程序?”

我现在最关心的是说日语的人,但我也对中国人的答案感兴趣。如果应用程序仅支持BMP上的字符,是否会使该应用程序对中文/日语使用者不可用(即应用程序不允许数据输入/显示补充字符)

我不是在问BMP是否是任何应用程序所需要的唯一东西(显然不是——特别是对于全世界的所有语言)。我要求在专业环境中使用CJK扬声器,用于处理一般自由文本输入(包括名称、位置等)的现代普通应用程序-BMP一般足够吗

即使只支持BMP是不正确的-它会非常接近/足够好吗?申请书中缺少补充字符是否只是偶尔的小麻烦;比如说,日本的演讲者会认为应用程序完全被破坏了吗?特别是考虑到他们总是能够通过用平假名/片假名拼写出有问题的单词来解决问题

如果说汉语的人没有退路,缺少补充字符会被认为是一个停秀问题吗

我考虑的是一般的专业背景,而不是社交或游戏方面的东西。举个例子,在补充平面上有很多表情符号,但是我个人不会考虑一个不支持Unicode表情符号的英语应用程序,至少对于大多数专业用途来说是这样。 我现在处理的应用程序是用Java编写的,但我认为这个问题更普遍。知道答案也将帮助我(无论语言如何)更好地处理字体支持方面需要付出的努力


编辑

澄清:通过“仅支持BMP”-我希望应用程序能够优雅地处理补充字符。

不受支持的字符(包括BMP代理代码块)的处理方式与大多数应用程序处理ASCII控制代码和其他不需要的字符的方式类似-过滤/不允许用于数据输入,必要时“处理”用于显示(过滤掉或替换为unicode替换字符).

大多数CJK代码点在BMP中定义,但CJK表意文字不在BMP中定义。因此,如果您不需要支持表意文字,那么BMP就可以了,否则就不行了


< P>但是,我会考虑任何不识别和处理UTF 16代理的实现,即使它不处理它们所代表的Unicode代码点,也会被破坏。

< P>不幸的是,Unicode中的CJK支持被破坏了。BMP不足以正确支持CJK,但比这更糟糕的是,即使您实现了对所有Unicode页面的完全支持,它仍然被破坏

基本问题是,他们试图合并所有三种语言中看起来有点相似但实际上并不相同的字符。结果是,只有选择正确的字体来显示它们,它们才会看起来正确。例如,如果使用中文字体渲染某个特定字符,则该字符仅对中国人正确显示;如果使用日文字体渲染,则该字符仅对日本人正确显示

没有通用字体。没有办法确定一个字符应该来自哪种语言,所以你必须以某种方式猜测使用哪种字体。您可以尝试检查系统语言或其他类似的黑客。除非有其他元数据,否则不能在同一文档中支持两种语言。如果您得到的是原始Unicode字符串,而没有任何关于它们所使用语言的指示,那么您就完蛋了

这完全是一场灾难。您需要与您的客户沟通,了解他们的需求,以及他们如何向他们的系统指示对损坏的Unicode字符使用何种字体


编辑:还需要指出的是,Unicode中缺少人名所需的一些字符。以后的版本会更好,但当然你也需要更新字体来利用它们。

对于那些可能正在寻找实际问题的实际答案的人:提示此问题的应用程序现在正在生产中,只允许BMP中的字符(实际上是有限的子集)

多个国际客户在生产中使用韩语-日语即将上线。中国正在计划中(我怀疑BMP是否足够,但我想我们会看到的)

很好-没有报告与不支持的字符相关的问题


但这只是轶事证据,真的。仅仅因为我的客户对它很满意——这并不意味着你的客户会满意。在上下文中,该应用程序的客户是国际公司,数百名员工使用该应用程序处理数十万名客户。

除非您是一名喜欢开发或开发操作系统的开发人员,否则您不应该关心这一点,让操作系统层来处理它

只需在应用程序中实现适当的Unicode支持,并允许操作系统处理字符的类型和显示方式

如果您在应用程序中使用自定义字体,您可能会遇到麻烦


最后回答您的问题:,Unicode支持不仅仅是BMP,您还需要支持Unicode。

严肃的问题(并非故意刁难)-您会说任何CJK语言吗?不,我不会。我只是在说明Unicode标准中记录的内容。是的,理解。也许我最好删除并重新构建关于Unicode 2.0而不是BMP的问题。为什么要限制自己使用Unicode 2.0?这个