Skip to content

PHP 8.1以降、 mb_strwidth() が実態に即していない #57

@zonuexe

Description

@zonuexe

refs php/php-src@d8c785b

文字幅に関する仕様はPHP: mb_strwidth - Manualで説明されている通りUnicodeのTR-11 EAST ASIAN WIDTHに準拠していますがeaw_table.hは2011年から更新されておらず、PHP 8.1リリース前のmbstringのオーバーホールによってUnicode 14.0に追従しました。

その際、てきめんさん @youkidearitai指摘するように、2011年以降に追加されたEAWプロパティがFWの文字に関する計算が変わってしまっています。

PHP: mb_strwidth - Manual に関して、以下の対応が必要になりそうです。

  • 対象文字に関する記述を調整する
  • 変更履歴にPHP 8.1でUnicode 14.0.0準拠になったことを明記する

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions