﻿#--------------------------------------------------------------------
# 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 ) ;