Text-Bidi
view release on metacpan or search on metacpan
ES => [qw(+ -)],
ET => [qw(# $ %), crange(0xa2,0xa5)],
AN => [crange(0x600, 0x604)],
CS => [qw(, . / :), chr(0xa0), chr(0x60c)],
NSM => [crange(0x300, 0x36f),crange(0x610, 0x61a)],
BN => [crange(0, 8), crange(0xe, 0x1b), crange(0x7f, 0x84), crange(0x86, 0x9f)],
B => [map { chr } (0xa, 0xd, 0x1c..0x1e, 0x85, 0x2029)],
S => [chr(9), chr(0xb), chr(0x1f)],
WS => [chr(0xc), ' '],
ON => [qw(! " & ' * ; < = > ? @ [ \ ] ^ _ ` { | } ~), chr(0x606), chr(0x60e)],
LRE => ["\N{LEFT-TO-RIGHT EMBEDDING}"],
LRO => ["\N{LEFT-TO-RIGHT OVERRIDE}"],
RLE => ["\N{RIGHT-TO-LEFT EMBEDDING}"],
RLO => ["\N{RIGHT-TO-LEFT OVERRIDE}"],
PDF => ["\N{POP DIRECTIONAL FORMATTING}"],
LRI => [chr(0x2066)],
RLI => [chr(0x2067)],
FSI => [chr(0x2068)],
PDI => [chr(0x2069)],
);
use Text::Bidi qw(log2vis get_bidi_type_name unicode_version);
( run in 0.558 second using v1.01-cache-2.11-cpan-71847e10f99 )