Como obter o modo organizacional totalmente compatível com o idioma árabe para exportação?

7

Minha intenção é escrever documentos em árabe usando o modo organizacional. Por favor, considere o seguinte MWE, considerando que minha configuração init.elpossui um código abaixo para permitir a gravação de scripts em árabe da direita para a esquerda (rtl) em vez do comportamento padrão da esquerda para a direita (ltr):

;; for right-to-left direction in org-mode
(defun set-bidi-env ()
  "interactive"
  (setq bidi-paragraph-direction 'nil))
(add-hook 'org-mode-hook 'set-bidi-env)

Buffer do MWE.org

# -*- mode: org -*-
#+OPTIONS: toc:1
#+LANGUAGE: ar
#+CREATOR: Emacs 25.1.50.2 (Org mode 8.3.4)

* تعريف بالارقام الهندية او الشرقية ١، ٢، ٣
* هذه النقطة الان باللغة العربية 

* ما هو الحل؟
* النهاية

* Introducing Hindi or estern numbers 1, 2, 3

* This point now in Arabic

* How to solve it?

* The end.

Os últimos quatro pontos em inglês são a tradução das quatro primeiras balas em árabe. Então agora, se eu exportá-lo para o HTMLformato pressionando C- c C- e h o, recebo esta saída:

insira a descrição da imagem aqui

Problemas

  1. Table of Contentsnão foi traduzido para o árabe, como seria normalmente esperado quando o idioma foi definido ar. Como tornar o modo organizacional ciente desses equivalentes em árabe de qualquer estrutura de documento, por exemplo, sumário, capítulo, figura, tabela etc.

Atualizar
Isso agora está corrigido. Eu atualizei o ox.el:

(org-export-smart-quotes-alist): add "ar" to the list

(org-export-dictionary): add Arabic equivalents to template keywords

então eu colocaria apenas o código relevante table of contentssuficiente para o atual MWE:

("Table of Contents"
 ("ar" :default "قائمة المحتويات")

insira a descrição da imagem aqui

  1. Os números das listas estavam no formato árabe 1,2,3(sim, é muito contra-intuitivo, mas sei, por favor), enquanto eu queria aparecer em hindi (consulte o primeiro marcador da lista na imagem de saída). Quero hindi no idioma árabe em vez de 1, 2, 3 números. Isso também se aplica à tabela de conteúdo. Como conseguir essa personalização?

Atualizar
Estes são os equivalentes hindi para dígitos arábicos:

                 ("0" "\u0660")
                 ("1" "\u0661")
                 ("2" "\u0662")
                 ("3" "\u0663")
                 ("4" "\u0664")
                 ("5" "\u0665")
                 ("6" "\u0666")
                 ("7" "\u0667")
                 ("8" "\u0668")
                 ("9" "\u0669")

Espero que isso seja útil para exportá-lo no caso do idioma árabe.

  1. Finalmente, como você pode ver na saída, a direção dos quatro primeiros itens da lista era da esquerda para a direita, não como o esperado no idioma árabe da direita para a esquerda. Como mudar de direção dependendo do contexto do script usado (árabe / inglês)?

Sua ajuda será muito apreciada.

doutorado
fonte
Quando você diz "Eu atualizei o ox.el", isso significa que você tem correções que podem ser contribuídas de volta ao modo organizacional? Em caso afirmativo, crie um relatório de bug para fazer isso?
phils

Respostas:

0

Eu posso responder parcialmente isso:

Finalmente, como você pode ver na saída, a direção dos quatro primeiros itens da lista era da esquerda para a direita, não como o esperado no idioma árabe da direita para a esquerda. Como mudar de direção dependendo do contexto do script usado (árabe / inglês)?

Não sei como definir a direção RTL apenas para os 4 primeiros itens em árabe e não para os demais 4 em inglês. Mas se você deseja definir a direção RTL para toda a página, é mais uma questão de HTML; a resposta é daqui .

Antes

<html lang="ar"> 
..

Depois de

<html dir="rtl" lang="ar"> 
..
Kaushal Modi
fonte