diff --git a/UnicodeInformation.Builder/UnicodeInfoBuilder.cs b/UnicodeInformation.Builder/UnicodeInfoBuilder.cs index 595e2b7..6e5bb06 100644 --- a/UnicodeInformation.Builder/UnicodeInfoBuilder.cs +++ b/UnicodeInformation.Builder/UnicodeInfoBuilder.cs @@ -286,16 +286,16 @@ namespace System.Unicode.Builder { using (var writer = new BinaryWriter(stream, Encoding.UTF8, true)) { - writer.Write(new byte[] { (byte)'U', (byte)'C', (byte)'D', 1 }); - writer.Write((ushort)7); // Hardcode Unicode 7.0 + writer.Write(new byte[] { (byte)'U', (byte)'C', (byte)'D', 2 }); + writer.Write((ushort)8); // Hardcode Unicode 8.0 writer.Write((byte)0); writer.WriteCodePoint(ucdEntryCount); for (int i = 0; i < ucdEntryCount; ++i) { ucdEntries[i].WriteToFile(writer); } - if (blockEntries.Count > 255) throw new InvalidOperationException("There are too many block entries. The file format needs to be upgraded."); - writer.Write((byte)blockEntries.Count); + if (blockEntries.Count > ushort.MaxValue) throw new InvalidOperationException("There are too many block entries. The file format needs to be upgraded."); + writer.Write((ushort)blockEntries.Count); for (int i = 0; i < blockEntries.Count; ++i) { WriteUnicodeBlockToFile(writer, blockEntries[i]); diff --git a/UnicodeInformation/UnicodeInfo.cs b/UnicodeInformation/UnicodeInfo.cs index acadd3d..a6cf6c2 100644 --- a/UnicodeInformation/UnicodeInfo.cs +++ b/UnicodeInformation/UnicodeInfo.cs @@ -44,7 +44,7 @@ namespace System.Unicode byte formatVersion = reader.ReadByte(); - if (formatVersion != 1) throw new InvalidDataException(); + if (formatVersion != 2) throw new InvalidDataException(); var fileUnicodeVersion = new Version(reader.ReadUInt16(), reader.ReadByte()); @@ -69,7 +69,7 @@ namespace System.Unicode unicodeCharacterDataEntries[i] = ReadUnicodeCharacterDataEntry(reader, nameBuffer); } - var blockEntries = new UnicodeBlock[reader.ReadByte()]; + var blockEntries = new UnicodeBlock[reader.ReadUInt16()]; for (i = 0; i < blockEntries.Length; ++i) { diff --git a/UnicodeInformation/ucd.dat b/UnicodeInformation/ucd.dat index 91c6357..5dd9c55 100644 Binary files a/UnicodeInformation/ucd.dat and b/UnicodeInformation/ucd.dat differ