@@ -49,11 +49,11 @@ _HTTPClient.delegate = self; _uppercaseTableSize = SIZE_MAX; _lowercaseTableSize = SIZE_MAX; _titlecaseTableSize = SIZE_MAX; - _casefoldingTableSize = SIZE_MAX; + _caseFoldingTableSize = SIZE_MAX; _decompositionTableSize = SIZE_MAX; _decompositionCompatTableSize = SIZE_MAX; } @catch (id e) { @throw e; [self release]; @@ -64,11 +64,11 @@ - (void)applicationDidFinishLaunching { OFHTTPRequest *request; - [of_stdout writeString: @"Downloading UnicodeData.txt…"]; + [OFStdOut writeString: @"Downloading UnicodeData.txt…"]; _state = STATE_UNICODE_DATA; request = [OFHTTPRequest requestWithURL: [OFURL URLWithString: UNICODE_DATA_URL]]; [_HTTPClient asyncPerformRequest: request]; } @@ -79,11 +79,11 @@ exception: (id)exception { if (exception != nil) @throw exception; - [of_stdout writeLine: @" done"]; + [OFStdOut writeLine: @" done"]; switch (_state) { case STATE_UNICODE_DATA: [self parseUnicodeData: response]; break; @@ -96,11 +96,11 @@ - (void)parseUnicodeData: (OFHTTPResponse *)response { OFString *line; OFHTTPRequest *request; - [of_stdout writeString: @"Parsing UnicodeData.txt…"]; + [OFStdOut writeString: @"Parsing UnicodeData.txt…"]; while ((line = [response readLine]) != nil) { void *pool2; OFArray OF_GENERIC(OFString *) *components; OFUnichar codePoint; @@ -110,11 +110,11 @@ pool2 = objc_autoreleasePoolPush(); components = [line componentsSeparatedByString: @";"]; if (components.count != 15) { - of_log(@"Invalid line: %@\n", line); + OFLog(@"Invalid line: %@\n", line); [OFApplication terminateWithStatus: 1]; } codePoint = (OFUnichar)[[components objectAtIndex: 0] unsignedLongLongValueWithBase: 16]; @@ -162,13 +162,13 @@ } [self applyDecompositionRecursivelyForTable: _decompositionTable]; [self applyDecompositionRecursivelyForTable: _decompositionCompatTable]; - [of_stdout writeLine: @" done"]; + [OFStdOut writeLine: @" done"]; - [of_stdout writeString: @"Downloading CaseFolding.txt…"]; + [OFStdOut writeString: @"Downloading CaseFolding.txt…"]; _state = STATE_CASE_FOLDING; request = [OFHTTPRequest requestWithURL: [OFURL URLWithString: CASE_FOLDING_URL]]; [_HTTPClient asyncPerformRequest: request]; } @@ -175,11 +175,11 @@ - (void)parseCaseFolding: (OFHTTPResponse *)response { OFString *line; - [of_stdout writeString: @"Parsing CaseFolding.txt…"]; + [OFStdOut writeString: @"Parsing CaseFolding.txt…"]; while ((line = [response readLine]) != nil) { void *pool2; OFArray OF_GENERIC(OFString *) *components; OFUnichar codePoint; @@ -189,11 +189,11 @@ pool2 = objc_autoreleasePoolPush(); components = [line componentsSeparatedByString: @"; "]; if (components.count != 4) { - of_log(@"Invalid line: %s\n", line); + OFLog(@"Invalid line: %s\n", line); [OFApplication terminateWithStatus: 1]; } if (![[components objectAtIndex: 1] isEqual: @"S"] && ![[components objectAtIndex: 1] isEqual: @"C"]) @@ -203,17 +203,17 @@ unsignedLongLongValueWithBase: 16]; if (codePoint > 0x10FFFF) @throw [OFOutOfRangeException exception]; - _casefoldingTable[codePoint] = (OFUnichar)[[components + _caseFoldingTable[codePoint] = (OFUnichar)[[components objectAtIndex: 2] unsignedLongLongValueWithBase: 16]; objc_autoreleasePoolPop(pool2); } - [of_stdout writeLine: @" done"]; + [OFStdOut writeLine: @" done"]; [self writeFiles]; } - (void)applyDecompositionRecursivelyForTable: (OFString *[0x110000])table @@ -270,19 +270,19 @@ - (void)writeFiles { OFURL *URL; - [of_stdout writeString: @"Writing files…"]; + [OFStdOut writeString: @"Writing files…"]; URL = [OFURL fileURLWithPath: @"../../src/unicode.m"]; [self writeTablesToFile: URL.fileSystemRepresentation]; URL = [OFURL fileURLWithPath: @"../../src/unicode.h"]; [self writeHeaderToFile: URL.fileSystemRepresentation]; - [of_stdout writeLine: @" done"]; + [OFStdOut writeLine: @" done"]; [OFApplication terminate]; } - (void)writeTablesToFile: (OFString *)path @@ -414,44 +414,44 @@ objc_autoreleasePoolPop(pool2); } } - /* Write casefoldingPage%u if it does NOT match lowercasePage%u */ + /* Write caseFoldingPage%u if it does NOT match lowercasePage%u */ for (OFUnichar i = 0; i < 0x110000; i += 0x100) { bool isEmpty = true; for (OFUnichar j = i; j < i + 0x100; j++) { - if (_casefoldingTable[j] != 0) { + if (_caseFoldingTable[j] != 0) { isEmpty = !memcmp(_lowercaseTable + i, - _casefoldingTable + i, + _caseFoldingTable + i, 256 * sizeof(OFUnichar)); - _casefoldingTableSize = i >> 8; - _casefoldingTableUsed[_casefoldingTableSize] = + _caseFoldingTableSize = i >> 8; + _caseFoldingTableUsed[_caseFoldingTableSize] = (isEmpty ? 2 : 1); break; } } if (!isEmpty) { void *pool2 = objc_autoreleasePoolPush(); [file writeFormat: @"static const OFUnichar " - @"casefoldingPage%u[0x100] = {\n", + @"caseFoldingPage%u[0x100] = {\n", i >> 8]; for (OFUnichar j = i; j < i + 0x100; j += 8) [file writeFormat: @"\t%u, %u, %u, %u, %u, %u, %u, %u,\n", - _casefoldingTable[j], - _casefoldingTable[j + 1], - _casefoldingTable[j + 2], - _casefoldingTable[j + 3], - _casefoldingTable[j + 4], - _casefoldingTable[j + 5], - _casefoldingTable[j + 6], - _casefoldingTable[j + 7]]; + _caseFoldingTable[j], + _caseFoldingTable[j + 1], + _caseFoldingTable[j + 2], + _caseFoldingTable[j + 3], + _caseFoldingTable[j + 4], + _caseFoldingTable[j + 5], + _caseFoldingTable[j + 6], + _caseFoldingTable[j + 7]]; [file writeString: @"};\n\n"]; objc_autoreleasePoolPop(pool2); } @@ -581,17 +581,17 @@ * But from now on, we need the size. */ _uppercaseTableSize++; _lowercaseTableSize++; _titlecaseTableSize++; - _casefoldingTableSize++; + _caseFoldingTableSize++; _decompositionTableSize++; _decompositionCompatTableSize++; - /* Write of_unicode_uppercase_table */ + /* Write OFUnicodeUppercaseTable */ [file writeFormat: @"const OFUnichar *const " - @"of_unicode_uppercase_table[0x%X] = {\n\t", + @"OFUnicodeUppercaseTable[0x%X] = {\n\t", _uppercaseTableSize]; for (OFUnichar i = 0; i < _uppercaseTableSize; i++) { if (_uppercaseTableUsed[i]) [file writeFormat: @"uppercasePage%u", i]; @@ -606,13 +606,13 @@ } } [file writeString: @"\n};\n\n"]; - /* Write of_unicode_lowercase_table */ + /* Write OFUnicodeLowercaseTable */ [file writeFormat: @"const OFUnichar *const " - @"of_unicode_lowercase_table[0x%X] = {\n\t", + @"OFUnicodeLowercaseTable[0x%X] = {\n\t", _lowercaseTableSize]; for (OFUnichar i = 0; i < _lowercaseTableSize; i++) { if (_lowercaseTableUsed[i]) [file writeFormat: @"lowercasePage%u", i]; @@ -627,13 +627,13 @@ } } [file writeString: @"\n};\n\n"]; - /* Write of_unicode_titlecase_table */ + /* Write OFUnicodeTitlecaseTable */ [file writeFormat: @"const OFUnichar *const " - @"of_unicode_titlecase_table[0x%X] = {\n\t", + @"OFUnicodeTitlecaseTable[0x%X] = {\n\t", _titlecaseTableSize]; for (OFUnichar i = 0; i < _titlecaseTableSize; i++) { if (_titlecaseTableUsed[i] == 1) [file writeFormat: @"titlecasePage%u", i]; @@ -650,36 +650,36 @@ } } [file writeString: @"\n};\n\n"]; - /* Write of_unicode_casefolding_table */ + /* Write OFUnicodeCaseFoldingTable */ [file writeFormat: @"const OFUnichar *const " - @"of_unicode_casefolding_table[0x%X] = {\n\t", - _casefoldingTableSize]; + @"OFUnicodeCaseFoldingTable[0x%X] = {\n\t", + _caseFoldingTableSize]; - for (OFUnichar i = 0; i < _casefoldingTableSize; i++) { - if (_casefoldingTableUsed[i] == 1) - [file writeFormat: @"casefoldingPage%u", i]; - else if (_casefoldingTableUsed[i] == 2) + for (OFUnichar i = 0; i < _caseFoldingTableSize; i++) { + if (_caseFoldingTableUsed[i] == 1) + [file writeFormat: @"caseFoldingPage%u", i]; + else if (_caseFoldingTableUsed[i] == 2) [file writeFormat: @"lowercasePage%u", i]; else [file writeString: @"emptyPage"]; - if (i + 1 < _casefoldingTableSize) { + if (i + 1 < _caseFoldingTableSize) { if ((i + 1) % 3 == 0) [file writeString: @",\n\t"]; else [file writeString: @", "]; } } [file writeString: @"\n};\n\n"]; - /* Write of_unicode_decomposition_table */ + /* Write OFUnicodeDecompositionTable */ [file writeFormat: @"const char *const " - @"*of_unicode_decomposition_table[0x%X] = {\n\t", + @"*OFUnicodeDecompositionTable[0x%X] = {\n\t", _decompositionTableSize]; for (OFUnichar i = 0; i < _decompositionTableSize; i++) { if (_decompositionTableUsed[i]) [file writeFormat: @"decompositionPage%u", i]; @@ -694,13 +694,13 @@ } } [file writeString: @"\n};\n\n"]; - /* Write of_unicode_decomposition_compat_table */ + /* Write OFUnicodeDecompositionCompatTable */ [file writeFormat: @"const char *const " - @"*of_unicode_decomposition_compat_table[0x%X] = {" + @"*OFUnicodeDecompositionCompatTable[0x%X] = {" @"\n\t", _decompositionCompatTableSize]; for (OFUnichar i = 0; i < _decompositionCompatTableSize; i++) { if (_decompositionCompatTableUsed[i] == 1) @@ -731,44 +731,40 @@ [file writeString: COPYRIGHT @"#import \"OFString.h\"\n\n"]; [file writeFormat: - @"#define OF_UNICODE_UPPERCASE_TABLE_SIZE 0x%X\n" - @"#define OF_UNICODE_LOWERCASE_TABLE_SIZE 0x%X\n" - @"#define OF_UNICODE_TITLECASE_TABLE_SIZE 0x%X\n" - @"#define OF_UNICODE_CASEFOLDING_TABLE_SIZE 0x%X\n" - @"#define OF_UNICODE_DECOMPOSITION_TABLE_SIZE 0x%X\n" - @"#define OF_UNICODE_DECOMPOSITION_COMPAT_TABLE_SIZE 0x%X\n\n", + @"#define OFUnicodeUppercaseTableSize 0x%X\n" + @"#define OFUnicodeLowercaseTableSize 0x%X\n" + @"#define OFUnicodeTitlecaseTableSize 0x%X\n" + @"#define OFUnicodeCaseFoldingTableSize 0x%X\n" + @"#define OFUnicodeDecompositionTableSize 0x%X\n" + @"#define OFUnicodeDecompositionCompatTableSize 0x%X\n\n", _uppercaseTableSize, _lowercaseTableSize, _titlecaseTableSize, - _casefoldingTableSize, _decompositionTableSize, + _caseFoldingTableSize, _decompositionTableSize, _decompositionCompatTableSize]; [file writeString: @"#ifdef __cplusplus\n" @"extern \"C\" {\n" @"#endif\n" @"extern const OFUnichar *const _Nonnull\n" - @" of_unicode_uppercase_table[" - @"OF_UNICODE_UPPERCASE_TABLE_SIZE];\n" - @"extern const OFUnichar *const _Nonnull\n" - @" of_unicode_lowercase_table[" - @"OF_UNICODE_LOWERCASE_TABLE_SIZE];\n" - @"extern const OFUnichar *const _Nonnull\n" - @" of_unicode_titlecase_table[" - @"OF_UNICODE_TITLECASE_TABLE_SIZE];\n" - @"extern const OFUnichar *const _Nonnull\n" - @" of_unicode_casefolding_table[" - @"OF_UNICODE_CASEFOLDING_TABLE_SIZE];\n" - @"extern const char *const _Nullable *const _Nonnull\n" - @" of_unicode_decomposition_table[" - @"OF_UNICODE_DECOMPOSITION_TABLE_SIZE];\n" - @"extern const char *const _Nullable *const _Nonnull\n" - @" of_unicode_decomposition_compat_table[" - @"OF_UNICODE_DECOMPOSITION_COMPAT_TABLE_SIZE];\n" + @" OFUnicodeUppercaseTable[OFUnicodeUppercaseTableSize];\n" + @"extern const OFUnichar *const _Nonnull\n" + @" OFUnicodeLowercaseTable[OFUnicodeLowercaseTableSize];\n" + @"extern const OFUnichar *const _Nonnull\n" + @" OFUnicodeTitlecaseTable[OFUnicodeTitlecaseTableSize];\n" + @"extern const OFUnichar *const _Nonnull\n" + @" OFUnicodeCaseFoldingTable[OFUnicodeCaseFoldingTableSize];\n" + @"extern const char *const _Nullable *const _Nonnull\n" + @" OFUnicodeDecompositionTable[" + @"OFUnicodeDecompositionTableSize];\n" + @"extern const char *const _Nullable *const _Nonnull\n" + @" OFUnicodeDecompositionCompatTable[" + @"OFUnicodeDecompositionCompatTableSize];\n" @"#ifdef __cplusplus\n" @"}\n" @"#endif\n"]; objc_autoreleasePoolPop(pool); } @end