Esempio n. 1
0
    def read(self, stream: Stream, version):
        self.color = stream.read_object('color')

        self.unicode = stream.read_int('unicode')
        self.angle = stream.read_double('angle')
        self.size = stream.read_double('size')
        self.x_offset = stream.read_double('x offset')
        self.y_offset = stream.read_double('y offset')

        self.x_scale = stream.read_double('x scale')
        self.y_scale = stream.read_double('y scale')

        if version <= 2:
            self.std_font = stream.read_object('font')
            self.font = self.std_font.font_name

        self.symbol_level = SymbolLayer.read_symbol_level(stream)
        if version > 1:
            self.rotate_with_transform = stream.read_ushort('rotate with transform') != 0

        if version >= 3:
            self.font = stream.read_string('font name')

            # lot of unknown stuff
            stream.read_double('unknown 3', expected=0)  # or object?
            stream.read_double('unknown 4', expected=0)  # or object?

            stream.read_int('font weight')
            stream.read_int('unknown', expected=0)
            stream.read_int('font size * 10000') / 10000

            if version >= 4:
                # std OLE font .. maybe contains useful stuff like bold/etc, but these aren't exposed in ArcGIS anyway..
                self.std_font = stream.read_object('font')
Esempio n. 2
0
    def read_tags(self, stream: Stream):
        """
        Reads the layer tags

        """
        self.tags = stream.read_string('layer tags')