26 lines
884 B
Plaintext
26 lines
884 B
Plaintext
|
#--------------------------------------------------------------------
|
||
|
# Copyright (c) 1999-2004, International Business Machines
|
||
|
# Corporation and others. All Rights Reserved.
|
||
|
#--------------------------------------------------------------------
|
||
|
|
||
|
# This reverses the Thai LogicalOrderException vowels, and does (part of) spaces
|
||
|
# The rules that convert space into semicolon are in another file;
|
||
|
# since they have to come BEFORE the break iterator
|
||
|
|
||
|
$thai = [[:thai:] \u0E01-\u0E3A\u0E40-\u0E5B] ;
|
||
|
|
||
|
# First convert the semicolon back
|
||
|
|
||
|
' ' < $thai { '; ' } $thai;
|
||
|
|
||
|
# Remove any other spaces between thai letters
|
||
|
|
||
|
< $thai { ' ' } $thai;
|
||
|
|
||
|
# Now vowels
|
||
|
$thai_reversing = [[:Logical_Order_Exception:] & $thai];
|
||
|
$thai_non_reversing = [$thai - $thai_reversing ];
|
||
|
|
||
|
( $thai_reversing ) ( $thai_non_reversing ) > $2 $1;
|
||
|
# other direction
|
||
|
$2 $1 < ( $thai_non_reversing ) ( $thai_reversing ) ;
|