mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-20 09:09:41 +01:00
173 lines
5.8 KiB
ObjectPascal
173 lines
5.8 KiB
ObjectPascal
{ Unicode implementation tables.
|
|
|
|
Copyright (c) 2013 by Inoussa OUEDRAOGO
|
|
|
|
Permission is hereby granted, free of charge, to any person
|
|
obtaining a copy of the Unicode data files and any associated
|
|
documentation (the "Data Files") or Unicode software and any
|
|
associated documentation (the "Software") to deal in the Data
|
|
Files or Software without restriction, including without
|
|
limitation the rights to use, copy, modify, merge, publish,
|
|
distribute, and/or sell copies of the Data Files or Software,
|
|
and to permit persons to whom the Data Files or Software are
|
|
furnished to do so, provided that (a) the above copyright
|
|
notice(s) and this permission notice appear with all copies
|
|
of the Data Files or Software, (b) both the above copyright
|
|
notice(s) and this permission notice appear in associated
|
|
documentation, and (c) there is clear notice in each modified
|
|
Data File or in the Software as well as in the documentation
|
|
associated with the Data File(s) or Software that the data or
|
|
software has been modified.
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. }
|
|
|
|
{$mode objfpc}{$H+}
|
|
unit collation_ko;
|
|
|
|
interface
|
|
|
|
implementation
|
|
uses
|
|
unicodedata, unicodeducet;
|
|
|
|
const
|
|
UPDATED_FIELDS = [ ];
|
|
COLLATION_NAME = 'ko';
|
|
BASE_COLLATION = '';
|
|
VERSION_STRING = '$Revision: 7611 $';
|
|
VARIABLE_LOW_LIMIT = 65535;
|
|
VARIABLE_HIGH_LIMIT = 0;
|
|
VARIABLE_WEIGHT = 0;
|
|
BACKWARDS_0 = False;
|
|
BACKWARDS_1 = False;
|
|
BACKWARDS_2 = False;
|
|
BACKWARDS_3 = False;
|
|
PROP_COUNT = 119249;
|
|
|
|
const
|
|
UCA_TABLE_1 : array[0..255] of Byte = (
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,
|
|
3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,
|
|
19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,
|
|
35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,
|
|
51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,
|
|
67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
);
|
|
|
|
const
|
|
UCAO_TABLE_1 : array[0..1023] of Word = (
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
);
|
|
|
|
{$ifdef FPC_LITTLE_ENDIAN}
|
|
{$include collation_ko_le.inc}
|
|
{$else FPC_LITTLE_ENDIAN}
|
|
{$include collation_ko_be.inc}
|
|
{$endif FPC_LITTLE_ENDIAN}
|
|
var
|
|
CLDR_Collation : TUCA_DataBook = (
|
|
Base : nil;
|
|
Version : VERSION_STRING;
|
|
CollationName : COLLATION_NAME;
|
|
VariableWeight : TUCA_VariableKind(VARIABLE_WEIGHT);
|
|
Backwards : (BACKWARDS_0,BACKWARDS_1,BACKWARDS_2,BACKWARDS_3);
|
|
BMP_Table1 : @UCA_TABLE_1[0];
|
|
BMP_Table2 : @UCA_TABLE_2[0];
|
|
OBMP_Table1 : @UCAO_TABLE_1[0];
|
|
OBMP_Table2 : @UCAO_TABLE_2[0];
|
|
PropCount : PROP_COUNT;
|
|
Props : PUCA_PropItemRec(@UCA_PROPS[0]);
|
|
VariableLowLimit : VARIABLE_LOW_LIMIT;
|
|
VariableHighLimit : VARIABLE_HIGH_LIMIT;
|
|
);
|
|
|
|
procedure Register();
|
|
begin
|
|
PrepareCollation(@CLDR_Collation,BASE_COLLATION,UPDATED_FIELDS);
|
|
RegisterCollation(@CLDR_Collation);
|
|
end;
|
|
|
|
initialization
|
|
Register();
|
|
|
|
finalization
|
|
UnregisterCollation(COLLATION_NAME);
|
|
|
|
end.
|