Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions