Example #1
0
    def readDecomposition(decompositionFilePath):
        decompositionEntries = {}

        print("reading %r" % decompositionFilePath, file=sys.stderr)
        fileHandle = codecs.open(decompositionFilePath, 'r', 'utf8')

        # entries from CSV
        for entry in util.UnicodeCSVFileIterator(fileHandle):

            try:
                char, decomposition, glyphIdx, subIndex, flags = entry
                glyphIdx = int(glyphIdx)
                subIndex = int(subIndex)
                decomposition = GlyphReader.decompositionFromString(
                    decomposition)
            except ValueError as UnicodeEncodeError:
                print(entry)
                raise

            if char not in decompositionEntries:
                decompositionEntries[char] = {}
            if glyphIdx not in decompositionEntries[char]:
                decompositionEntries[char][glyphIdx] = []
            decompositionEntries[char][glyphIdx].append(
                (decomposition, subIndex, flags))

        return decompositionEntries
Example #2
0
    def readLocaleMapping(localeFilePath):
        localeEntries = {}

        print("reading %r" % localeFilePath, file=sys.stderr)
        fileHandle = codecs.open(localeFilePath, 'r', 'utf8')

        for entry in util.UnicodeCSVFileIterator(fileHandle):
            try:
                char, glyphIdx, localeString = entry
                glyphIdx = int(glyphIdx)
            except ValueError:
                print(entry)
                raise
            if char not in localeEntries:
                localeEntries[char] = {}
            localeEntries[char][glyphIdx] = list(localeString)

        return localeEntries
Example #3
0
    def readStrokeOrder(strokeOrderFilePath):
        strokeOrderEntries = {}

        print("reading %r" % strokeOrderFilePath, file=sys.stderr)
        fileHandle = codecs.open(strokeOrderFilePath, 'r', 'utf8')

        for entry in util.UnicodeCSVFileIterator(fileHandle):
            try:
                char, strokeOrder, glyphIdx, flags = entry
                glyphIdx = int(glyphIdx)
            except ValueError:
                print(entry)
                raise

            if char not in strokeOrderEntries:
                strokeOrderEntries[char] = {}
            strokeOrderEntries[char][glyphIdx] = (strokeOrder, flags)

        return strokeOrderEntries