Commit graph

35 commits

Author SHA1 Message Date
Dennis
fa7f22b2cf
std.uni: Use dstring for dchar tables (#8889)
* std.uni: use dstring for upper/lower/title tables

* std.uni: make tables use dstring

* Add space after cast for Dscanner

* Remove redundant semicolons
2024-01-10 17:48:25 +02:00
Dennis Korpel
135e9ad193 std.uni: optimize simpleCaseTable
Cuts size of simpleCaseTable entries in half (8 -> 4 bytes), reducing table size from 24 Kb to 12 Kb.
Still only 22 out of 32 bits per entry are actually used, so could be optimized further.
Using plain integers saves 10 ms semantic2 compile time.
2024-01-09 12:02:12 +01:00
Dennis Korpel
90715f3b07 std.uni: use dstring for compositionTable 2024-01-08 23:37:44 +01:00
Dennis Korpel
bdbce3b67d Use static array for table 2024-01-08 00:02:21 +01:00
Dennis Korpel
bd8b943fa2 std.uni: optimize fullCaseTable 2024-01-07 11:35:29 +01:00
Dennis Korpel
89d36e1228 std.uni: use hexstrings for charset strings 2024-01-06 17:49:13 +01:00
Dennis Korpel
a11fb5e3ed Upgrade std.uni to Unicode 15.1.0 2024-01-06 13:06:48 +01:00
richard (rikki) andrew cattermole
e848d44d7f Emphasize DO NOT EDIT for the generated Unicode tables 2022-12-12 04:32:30 +13:00
richard (rikki) andrew cattermole
297370abc2 Add URL for Unicode table generator into the headers of the Unicode tables 2022-12-12 02:10:14 +13:00
richard (rikki) andrew cattermole
a1f2e760e7 Make Unicode tables module headers consistent and add DO NOT EDIT to it 2022-12-12 02:10:14 +13:00
richard (rikki) andrew cattermole
122df9272a Upstream Unicode table generator and update tables to v15 2022-12-12 02:10:14 +13:00
Sebastian Wilzbach
42894784dd Markdownify Phobos
$(D word) -> `word`
2018-04-02 22:32:47 +02:00
Jack Stouffer
4ce5d44dbb Use underscores for number literals with five or more digits 2017-02-23 09:45:49 -05:00
Sebastian Wilzbach
425ab667a3 Automatically set the range style from a..b -> a .. b
Commands:

sed -E "s/([[:alnum:]])[.][.]([[:alnum:]])/\1 .. \2/g" -i **/*.d
sed -E "s/([[:alnum:]])[.][.] ([[:alnum:]])/\1 .. \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) [.][.]([[:alnum:]])/\1 .. \2/g" -i **/*.d
2017-02-22 05:37:31 +01:00
Jack Stouffer
0cb88c508d Mark the internal unicode code as package 2016-09-15 08:42:57 +01:00
Sebastian Wilzbach
ec47ac4224 Remove the WEB macro in favor of HTTP
replacement: sed 's/\$(WEB/\$(HTTP/g' -i **/*.d
2016-06-16 00:14:51 +02:00
Sebastian Wilzbach
1d34a121e9 apply all-man braces in Phobos
// find common cases
sed -E "s/^(\s*)((if|static if|for|foreach|foreach_reverse|while|unittest|switch|else|version).*)\s*\{$/\1\2\n\1{/" -i **/*.d
// catch else-if
sed -E "s/^(\s*)} (else static if| if|else if|else)(.*)\s*\{$/\1}\n\1\2\3\n\1{/" -i **/*.d
// remove created trailing whitespace
sed -i 's/[ \t]*$//' **/*.d
2016-05-31 13:07:53 +02:00
Jack Stouffer
8cd97964a7 Fixed long lines in std/internal/unicode_tables.d 2016-05-10 20:51:39 -04:00
Sebastian Wilzbach
3d67cd228c style fix: space between operators 2016-04-26 22:26:20 +03:00
Walter Bright
dc302d26a4 DIP25: make phobos work with it 2015-01-30 12:02:48 -08:00
sinkuu
deb82feaa2 Add @nogc attribute 2014-11-09 23:00:24 +09:00
Robert burner Schadek
f2c5dbd502 some love for std.string
many functions of std.string had no attributes like pure, safe etc.
additionally, many const arguments where not marked as const.
tabs -> whitespace
removed tail whitespace
Doc Examples to unittest docs

more love for std.string

const to in

squeeze
2014-07-17 09:48:56 +02:00
Dmitry Olshansky
c131da5834 Fix issue 12455 [reg]Bad lowercase mapping for 'LATIN CAPITAL LETTER I WITH DOT ABOVE'
Also as part of a fix restores a test case in string.d
to exactly match older behaviour.

Some extended greek is not upper but title case, yet changes on toUpper.
2014-07-05 02:05:12 +04:00
Dmitry Olshansky
08148b5901 purify std.uni constructs, blocked by std.algortihm.sort 2014-04-13 14:36:21 +04:00
Andrei Alexandrescu
e289a7cdd7 Revert "Merge pull request #1685 from blackwhale/utf8-matcher"
This reverts commit 216ca01ca8, reversing
changes made to d56c1dbc08.
2014-03-15 17:11:17 -07:00
Dmitry Olshansky
c264bd6a51 purify std.uni constructs, blocked by std.algortihm.sort 2014-03-08 13:55:33 +04:00
Dmitry Olshansky
87bff6186c split off rarely used unicode tables
This avoids parsing large files reducing parse time by 30 ms for me
(it took ~70ms to parse tables, now ~40ms).
And move hangul sets to Trie tables as well.
Also saves around 30Kb on "hello world" app.
2013-10-17 18:49:11 +04:00
Martin Nowak
5cecc7622d smaller executables
- Move all tables into functions or structs so that
  dmd's multilib will put them into separate archive
  objects. This allows the linker to only pick the
  tables that are actually used.
2013-10-16 09:03:53 +02:00
Martin Nowak
26edfc624f deduplicate CodepointTries and leave the data in libphobos2.a
- Store the static immutable CodepointTries in separate functions.
2013-10-14 00:38:30 +02:00
Martin Nowak
f9e7a93d93 store other immutable tables in unicode_tables
- This is mainly for consistency with other tables.
2013-10-13 22:54:16 +02:00
Martin Nowak
45c873faf3 make case tables immutable
- Avoids redundant object copies and semantic
  analysis for every usage.

- Multilib archives or gc-sections will take care
  of the binary size issue.
2013-10-13 20:50:40 +02:00
Dmitry Olshansky
5ce8a6d538 tweak unicode_tables.d and related code to avoid CTFE in generated tables 2013-10-13 12:28:34 +04:00
Dmitry Olshansky
9df179b65d fix issue 11057 [REG2.064dev] New std.uni has icmp() partly broken 2013-09-22 12:00:04 +04:00
Dmitry Olshansky
256b62b370 fix issue 11089 toUpper doesn't work with 1:m mappings
Also fixes a typo in generic toCase, adds test cases for
previously fixed issue 9629
2013-09-22 11:52:27 +04:00
Dmitry Olshansky
9a053d97c2 new std.uni module 2013-07-20 23:00:34 +04:00