2017-02-22 10 views
0

Это довольно конкретный вопрос с алгоритмом биди, я надеюсь, что кто-то там может помочь мне понять алгоритм.Unicode BIDI (UBA): Test = RLE ES LRE -> Трудности по спецификациям

Я с трудом с следующим испытанием от BidiTest-10.0.0d5.txt

@Levels x, 1, x 
@Reorder 1 
RLE ES LRE; 2 

http://unicode.org/cldr/utility/bidi.jsp?a=%E2%80%AB%2B%E2%80%AA&p=LTR

ЮНИКОДу инструмент выше применяется правило W6 на RLE характер и преобразование его в положение ON.

Почему? Правило W6:

«В противном случае разделители и терминаторы заменяются на другие нейтральные».

Очевидно, что мне не хватает деталей, я просто не могу найти его.

Любой намек оценил, спасибо :)

ответ

1

Я думаю, что это то, что происходит. Реализация может быть сконструирована так, чтобы сохранять, а не удалять гранично-нейтральные и явные символы форматирования (см. the implementation notes). Таким образом, правило X9 добавляет действие «не удалять любые символы, а превращает все RLE, LRE, RLO, LRO и PDF символы в BN» и, таким образом, превращает LRE в BN, тогда правило W6 добавляет действие «изменить все типы BN, смежные к ET, ES или CS к ON », и поэтому изменяет BN, который был LRE, равным ON.

+0

Спасибо @ graham-asher, я полностью пропустил примечания по реализации. После этих дополнительных шагов это решило :) – butterbrot

Смежные вопросы