PhpOffice\PhpPresentation\Reader\PowerPoint97::readStructureTextSIRun PHP Method

readStructureTextSIRun() private method

A structure that specifies language and spelling information for a run of text.
private readStructureTextSIRun ( string $stream, integer $pos, $strLenRT )
$stream string
$pos integer
    private function readStructureTextSIRun($stream, $pos, $strLenRT)
    {
        $arrayReturn = array('length' => 0, 'strLenRT' => $strLenRT);
        $arrayReturn['strLenRT'] -= self::getInt4d($stream, $pos + $arrayReturn['length']);
        $arrayReturn['length'] += 4;
        $data = self::getInt4d($stream, $pos + $arrayReturn['length']);
        $arrayReturn['length'] += 4;
        $masksData = array();
        $masksData['spell'] = $data >> 0 & bindec('1');
        $masksData['lang'] = $data >> 1 & bindec('1');
        $masksData['altLang'] = $data >> 2 & bindec('1');
        $masksData['unused1'] = $data >> 3 & bindec('1');
        $masksData['unused2'] = $data >> 4 & bindec('1');
        $masksData['fPp10ext'] = $data >> 5 & bindec('1');
        $masksData['fBidi'] = $data >> 6 & bindec('1');
        $masksData['unused3'] = $data >> 7 & bindec('1');
        $masksData['reserved1'] = $data >> 8 & bindec('1');
        $masksData['smartTag'] = $data >> 9 & bindec('1');
        if ($masksData['spell'] == 1) {
            $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
            $arrayReturn['length'] += 2;
            $masksSpell = array();
            $masksSpell['error'] = $data >> 0 & bindec('1');
            $masksSpell['clean'] = $data >> 1 & bindec('1');
            $masksSpell['grammar'] = $data >> 2 & bindec('1');
        }
        if ($masksData['lang'] == 1) {
            // $data = self::getInt2d($stream, $pos);
            $arrayReturn['length'] += 2;
        }
        if ($masksData['altLang'] == 1) {
            // $data = self::getInt2d($stream, $pos);
            $arrayReturn['length'] += 2;
        }
        if ($masksData['fBidi'] == 1) {
            throw new \Exception('Feature not implemented (l.' . __LINE__ . ')');
        }
        if ($masksData['fPp10ext'] == 1) {
            throw new \Exception('Feature not implemented (l.' . __LINE__ . ')');
        }
        if ($masksData['smartTag'] == 1) {
            throw new \Exception('Feature not implemented (l.' . __LINE__ . ')');
        }
        return $arrayReturn;
    }
PowerPoint97