Skip to content

Commit 688f6ba

Browse files
committed
mktables: Support new Unicode 16.0 properties ID_Compat_Math_foo
These new properties are automatically handled, but there is a problem. They have no short form names. Files are written for them based on their names, and those files are not distinguishable on a DOS 8.3 file system. The solution here is to manually override the automatically generated file names with distinguishable ones.
1 parent 552c708 commit 688f6ba

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

lib/unicore/mktables

+9-1
Original file line numberDiff line numberDiff line change
@@ -8820,7 +8820,7 @@ sub trace { return main::trace(@_) if main::DEBUG && $to_trace }
88208820
# filesystem to distinguish between, this is used to manually give short
88218821
# names for the directory name immediately under $match_tables that the
88228822
# match tables for this property should be placed in.
8823-
main::set_access('match_subdir', \%match_subdir, 'r');
8823+
main::set_access('match_subdir', \%match_subdir, 'r', 's');
88248824

88258825
my %has_dependency;
88268826
# A boolean that gives whether some table somewhere is defined as the
@@ -10072,6 +10072,14 @@ sub finish_property_setup($file) {
1007210072

1007310073
property_ref('Numeric_Value')->set_to_output_map($OUTPUT_ADJUSTED);
1007410074

10075+
# These two properties have no short names and the file names for them
10076+
# clash in DOS 8.3. Work around this by creating shorter file names that
10077+
# work
10078+
my $IDCMStart = property_ref("ID_Compat_Math_Start");
10079+
$IDCMStart->set_match_subdir("IDCMStart") if defined $IDCMStart;
10080+
my $IDCMCont= property_ref("ID_Compat_Math_Continue");
10081+
$IDCMCont->set_match_subdir("IDCMContinue") if defined $IDCMCont;
10082+
1007510083
# The rest of this sub is for properties that need the Multi_Default class
1007610084
# to create objects for defaults. As of v15.0, this is no longer needed.
1007710085

0 commit comments

Comments
 (0)