Eclipse SWT Browser отображает обратный иврит - PullRequest
2 голосов
/ 29 апреля 2019

Я использую JDK 1.8.0_201 в Windows 7 с Eclipse Oxygen (4.7.2).У меня также установлен Microsoft Internet Explorer 11.0.Мое приложение java Swing встраивает SWT Браузер .Мой код Java пишет простой текстовый файл, который содержит текст на иврите в «визуальном порядке» и сохраняет его с расширением html .Затем я задаю URL для Browser, чтобы он указывал на только что созданный файл HTML.Когда я запускаю приложение, Browser отображает иврит в обратном порядке.Используя пример на английском языке, вместо отображения слова Hotel отображается letoH .Вот HTML ...

<code><html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO8859-8">
    <style type="text/css">
      body{font-family:"Miriam Fixed"; font-size:12px;}
    </style>
  </head>
  <body>
    <pre>
      my Hebrew content
    

Вот код Java для записи файла

java.io.PrintWriter pw = new java.io.PrintWriter("filename.html", "windows-1255");
pw.println("<html>");
// remainder of "println()" calls to create content as shown above
pw.println("</html>");
pw.close();

Наконец, когда яЗапустив приложение Java, я явно установил свойство file.encoding в команде java примерно так ...

-Dfile.encoding=UTF-8

Я предполагаю, что это что-то в конфигурации моего компьютера, ноЯ не знаю, что, и я надеюсь, что кто-то может указать мне в направлении, где искать.

Ответы [ 2 ]

0 голосов
/ 05 мая 2019

Я не проводил исчерпывающих тестов, но, тем не менее, до сих пор следующие изменения в HTML решили проблему. Я добавил тег bdo в качестве подэлемента тега pre, т.е.

<code><pre>
    <bdo dir="ltr">
        my Hebrew content
    </bdo>

Обратите внимание, что это было единственное изменение . Весь другой код в точности , как он появляется в моем исходном вопросе.

0 голосов
/ 01 мая 2019

Источник проблемы заключается в том, что в теге <pre> все выглядит как "визуальный порядок"

Обычно браузер отображает иврит с "логическим порядком".

Я предлагаю попробовать следующее:

  1. Замените тег <pre> на тег <div>.

  2. Играйте с атрибутом dir="rtl" в<div> или <pre>.

  3. Заставьте пользователя кодировать сохраненный код в формате UTF-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...