Lines Matching defs:info

113 	public static function set_myanmar_properties(&$info)
115 $u = $info['uni'];
253 $info['myanmar_category'] = $cat;
254 $info['myanmar_position'] = $pos;
296 public static function reordering(&$info, $GSUBdata, $broken_syllables, $dottedcircle)
299 self::insert_dotted_circles($info, $dottedcircle);
301 $count = count($info);
306 $last_syllable = $info[0]['syllable'];
308 if ($last_syllable != $info[$i]['syllable']) {
309 self::reordering_syllable($info, $GSUBdata, $last, $i);
311 $last_syllable = $info[$last]['syllable'];
314 self::reordering_syllable($info, $GSUBdata, $last, $count);
317 public static function insert_dotted_circles(&$info, $dottedcircle)
321 while ($idx < count($info)) {
322 $syllable = $info[$idx]['syllable'];
326 $dottedcircle[0]['syllable'] = $info[$idx]['syllable'];
327 array_splice($info, $idx, 0, $dottedcircle);
333 $syllable = $info[$idx]['syllable'];
336 $dottedcircle[0]['syllable'] = $info[$idx]['syllable'];
337 array_splice($info, $idx, 0, $dottedcircle);
344 public static function reordering_syllable(&$info, $GSUBdata, $start, $end)
349 $syllable_type = ($info[$start]['syllable'] & 0x0F);
358 if ($info[$end - 1]['myanmar_category'] == self::OT_DOTTEDCIRCLE) {
368 $info[$start]['myanmar_category'] == self::OT_RA &&
369 $info[$start + 1]['myanmar_category'] == self::OT_AS &&
370 $info[$start + 2]['myanmar_category'] == self::OT_H) {
381 if (self::is_consonant($info[$i])) {
391 $info[$i]['myanmar_position'] = self::POS_AFTER_MAIN;
394 $info[$i]['myanmar_position'] = self::POS_PRE_C;
397 $info[$i]['myanmar_position'] = self::POS_BASE_C;
404 if ($info[$i]['myanmar_category'] == self::OT_MR) { /* Pre-base reordering */
405 $info[$i]['myanmar_position'] = self::POS_PRE_C;
408 if ($info[$i]['myanmar_position'] < self::POS_BASE_C) { /* Left matra */
412 if ($pos == self::POS_AFTER_MAIN && $info[$i]['myanmar_category'] == self::OT_VBLW) {
414 $info[$i]['myanmar_position'] = $pos;
418 if ($pos == self::POS_BELOW_C && $info[$i]['myanmar_category'] == self::OT_A) {
419 $info[$i]['myanmar_position'] = self::POS_BEFORE_SUB;
422 if ($pos == self::POS_BELOW_C && $info[$i]['myanmar_category'] == self::OT_VBLW) {
423 $info[$i]['myanmar_position'] = $pos;
426 if ($pos == self::POS_BELOW_C && $info[$i]['myanmar_category'] != self::OT_A) {
428 $info[$i]['myanmar_position'] = $pos;
431 $info[$i]['myanmar_position'] = $pos;
436 self::bubble_sort($info, $start, $end - $start);
439 public static function is_one_of($info, $flags)
441 if (isset($info['is_ligature']) && $info['is_ligature']) {
444 return !!(self::FLAG($info['myanmar_category']) & $flags);
449 public static function is_consonant($info)
451 return self::is_one_of($info, (self::FLAG(self::OT_C) | self::FLAG(self::OT_CM) | self::FLAG(self::OT_RA) | self::FLAG(self::OT_V) | self::FLAG(self::OT_NBSP) | self::FLAG(self::OT_GB)));