![]() |
Was enthält bin_data genauer? (Benutzt von InternalGetUnicodeCategory)
Hallo,
In der Unit System.Character gibt es eine Funktion InternalGetUnicodeCategory(). Diese verwendet eine komplexe Indizierung und die Kategorie eines Codepoints zu bestimmen (ob es Control character ist, Letter, usw.).
Code:
Die Indizierung ist wohl so aufgebaut um Speicher zu sparen, wahrscheinlich eine Art Trie. Allerdings bleibt es etwas nebulös wie das genau umgesetzt wurde. Sprich: Wie genau wurde die Liste der Codepoints, die ein array von 0..$10FFFF darstellt, auf diese Mehrfachindizierung reduziert? Kennt jemand die Hintergründe?
Result := CategoryTable[CatIndexSecondary[CatIndexPrimary[C shr 8] + ((C shr 4) and $F)] + C and $F];
Die Array-Definitionen in System.Character_const.5.2.0.inc sind wohl etwas verständlicher. Sieht eher nach einer Art Bitcompression aus. Bin immernoch an Ratschlägen interessiert. |
AW: Was enthält bin_data genauer? (Benutzt von InternalGetUnicodeCategory)
Keiner eine Idee?
|
AW: Was enthält bin_data genauer? (Benutzt von InternalGetUnicodeCategory)
Wo ist das Problem?
|
AW: Was enthält bin_data genauer? (Benutzt von InternalGetUnicodeCategory)
Zitat:
|
AW: Was enthält bin_data genauer? (Benutzt von InternalGetUnicodeCategory)
Zitat:
Delphi fehlt die Unterstützung für viele Unicodeeigenschaften die im Standard beschrieben werden, und ich möchte sie analog implementieren. Ich bin jedenfalls weitergekommen was die (Re-)Generierung der Tabellen angeht. |
AW: Was enthält bin_data genauer? (Benutzt von InternalGetUnicodeCategory)
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz