Perl 6有与Unicode::GCString的columns方法等价的东西吗?
Perl 5示例:
#!/usr/bin/env perl
use warnings;
use strict;
use 5.10.0;
use utf8;
use open qw( :std :utf8 );
use Unicode::GCString;
my $s = '合'; # U+5408
say length $s; # 1
my $gcs = Unicode::GCString->new( $s );
say $gcs->columns; # 2发布于 2015-07-09 06:41:25
Perl6具有内置的Unicode支持,具有原生Uni和NFC/NFD/NFKC/NFKD规范化类型。
我模糊地理解的是,Unicode::GCString::columns方法决定了对东亚语言的断线支持。合由两个“音节”(他们称其为“字素簇”)组成,彼此相连,因此有两列。
尽管如此,perl6内部(在MoarVM级别上)可以访问存储断行属性的unicode数据库,但据我所知,目前还没有像Unicode::UCD这样的模块,可以使Unicode::GCString之类的East_Asian_Width属性可用。
另一方面,将Unicode::LineBreak转换为perl6看起来很容易,可以通过NativeCall访问sombok库。
https://stackoverflow.com/questions/31250503
复制相似问题