private function readStructureTextRuler($stream, $pos)
{
$arrayReturn = array('length' => 0);
$data = self::getInt4d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 4;
$masksData = array();
$masksData['fDefaultTabSize'] = $data >> 0 & bindec('1');
$masksData['fCLevels'] = $data >> 1 & bindec('1');
$masksData['fTabStops'] = $data >> 2 & bindec('1');
$masksData['fLeftMargin1'] = $data >> 3 & bindec('1');
$masksData['fLeftMargin2'] = $data >> 4 & bindec('1');
$masksData['fLeftMargin3'] = $data >> 5 & bindec('1');
$masksData['fLeftMargin4'] = $data >> 6 & bindec('1');
$masksData['fLeftMargin5'] = $data >> 7 & bindec('1');
$masksData['fIndent1'] = $data >> 8 & bindec('1');
$masksData['fIndent2'] = $data >> 9 & bindec('1');
$masksData['fIndent3'] = $data >> 10 & bindec('1');
$masksData['fIndent4'] = $data >> 11 & bindec('1');
$masksData['fIndent5'] = $data >> 12 & bindec('1');
if ($masksData['fCLevels'] == 1) {
throw new \Exception('Feature not implemented (l.' . __LINE__ . ')');
}
if ($masksData['fDefaultTabSize'] == 1) {
throw new \Exception('Feature not implemented (l.' . __LINE__ . ')');
}
if ($masksData['fTabStops'] == 1) {
$count = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
$arrayTabStops = array();
for ($inc = 0; $inc < $count; $inc++) {
$position = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
$type = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
$arrayTabStops[] = array('position' => $position, 'type' => $type);
}
}
if ($masksData['fLeftMargin1'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fIndent1'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fLeftMargin2'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fIndent2'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fLeftMargin3'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fIndent3'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fLeftMargin4'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fIndent4'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fLeftMargin5'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
if ($masksData['fIndent5'] == 1) {
// $data = self::getInt2d($stream, $pos + $arrayReturn['length']);
$arrayReturn['length'] += 2;
}
return $arrayReturn;
}