-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcombining_characters.ads
More file actions
58 lines (51 loc) · 3.21 KB
/
combining_characters.ads
File metadata and controls
58 lines (51 loc) · 3.21 KB
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
-----------------------------------------------------------------------
-- --
-- C O M B I N I N G _ C H A R A C T E R S --
-- --
-- S p e c i f i c a t i o n --
-- --
-- $Revision: 1.0 $ --
-- --
-- Copyright (C) 2023 Hyper Quantum Pty Ltd. --
-- Written by Ross Summerfield. --
-- --
-- This package builds and provides information on the set of --
-- combining characters in the short (from Ada's perspective, --
-- Wide_Character) set. --
-- --
-- Version History: --
-- $Log$
-- --
-- Combining_Characters is free software; you can redistribute it --
-- and/or modify it under terms of the GNU General Public Licence --
-- as published by the Free Software Foundation; either version 2, --
-- or (at your option) any later version. Cell_Writer is --
-- distributed in hope that it will be useful, but WITHOUT ANY --
-- WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
-- Licence f or more details. You should have received a copy of --
-- the GNU General Public Licence distributed with Combining_ --
-- Characters. If not, write to the Free Software Foundation, 51 --
-- Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --
-- --
-----------------------------------------------------------------------
with Set_of;
package Combining_Characters is
-- There is a standard list of combining characters. this list is not set
-- up as a set. It also does not include the Blissymbolic characters
-- (currently located in the Private area from E100 to E18C).
-- Here we create a set of combining characters.
type character_list is array (natural range <>) of wide_character;
package Combining_Sets is new Set_Of(Element => wide_character,
Index => natural,
List => character_list);
use Combining_Sets;
subtype combining_character_set is Combining_Sets.Set;
function Combining_Check_On(the_character:in wide_character) return boolean;
-- Returns true if the specified character is combining.
function The_Combining_Characters return combining_character_set;
procedure Add_To_The_Combining_Characters(the_character:in wide_character);
private
all_combining_characters : combining_character_set := Empty;
procedure Initialise_Combining_Characters;
end Combining_Characters;