From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Newsgroups: gmane.emacs.devel Subject: Implementing Vertical Text support in Emacs Date: Mon, 13 Jun 2022 20:59:45 +0530 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000ce3bb605e155f5d8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27225"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jun 13 17:31:44 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o0m2Z-0006nF-97 for ged-emacs-devel@m.gmane-mx.org; Mon, 13 Jun 2022 17:31:43 +0200 Original-Received: from localhost ([::1]:46126 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0m2Y-0005Bz-78 for ged-emacs-devel@m.gmane-mx.org; Mon, 13 Jun 2022 11:31:42 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33318) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0m0t-0003ZU-1W for emacs-devel@gnu.org; Mon, 13 Jun 2022 11:29:59 -0400 Original-Received: from mail-qk1-x731.google.com ([2607:f8b0:4864:20::731]:36677) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o0m0r-0007ne-9F for emacs-devel@gnu.org; Mon, 13 Jun 2022 11:29:58 -0400 Original-Received: by mail-qk1-x731.google.com with SMTP id c83so4283031qke.3 for ; Mon, 13 Jun 2022 08:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=gR519JrCLBb8R2Xno3ZSFgyKArdetz5pRXEZXmbqqb4=; b=MaKcR3yzNqipSXIWbMzhlsTHu4vBRzkr2LeM5+y7DUeHQvIW5CEf9tltoWVP9HFiSe WIJONaGYR6rrW2T/e9rz+Do31xXzd/mTFDJ1FAcLoIQTdZRyqwWe0OXdRma4ob2/DmlQ LD9MZuJdK4CiE/sXbReyRNl4txxGKW7H2q66RtPZsBuH5YgbN76yl9DLOcgDJdck0d5F +DfxaKDRzgkjtboKnzaiHffX57ycKq9tg999FqRP/o1iUu3m4zG+cWmMvAE187NE2SxA hqgP9pg/zV6ZLrDyBc1eEmxJfBl3H9xAdPK9sllypiBFtD6O2zAHoCfi4SfXfQIJYgRz rXOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=gR519JrCLBb8R2Xno3ZSFgyKArdetz5pRXEZXmbqqb4=; b=slYkzM9Yub+PFtm/5oCzo93O3USIUYXNOMJumPyozk/0mPJO6Bre+bbHWe4p4vYsA3 voyF43eEM16nNFPJ3ZkkRvfAtZwR5PF5kWDE/01c0WUtrsFVpS4wAk6cG1UFKEfOZm9S CAlyvnUNZ1C/hutvRUJqCc/W0G/RFwA7urMnLTd8qlsY1dI52051fUU7gwCmcp1txsN2 dQjfT6FECrbTesPywUs2nkHsGiqRJAyq7NJs2T8JpCfGW8GJJThJNavc6KGHJdclw7b/ KRSJBFzcKM15vWjth7NScyk6XpjSLfJRVYQMzdwJi1KPEhQksj2ghoOQPPIqJ0W3GwdS i4Yg== X-Gm-Message-State: AOAM533jafLZ6MtljvZduDvLzJirGGJbcMnHKfByDNMlHvhPCFdlmonD nghqvLEiys9G3YdWrmYEXM0GdLGXPdm5INCojIAJYL6oQ8g= X-Google-Smtp-Source: ABdhPJz0jQrOjdO/CaL5T7ASnmqQPXZOp0OCIWU5R1CI6TZhc3o4VmAokizvGb4rHdgUZEaItaa8DijTzAE5EA0sTmA= X-Received: by 2002:a05:620a:2588:b0:680:f657:fbd6 with SMTP id x8-20020a05620a258800b00680f657fbd6mr376550qko.287.1655134195955; Mon, 13 Jun 2022 08:29:55 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::731; envelope-from=lumarzeli30@gmail.com; helo=mail-qk1-x731.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:291146 Archived-At: --000000000000ce3bb605e155f5d8 Content-Type: text/plain; charset="UTF-8" Recently while implementing the Mongolian script, I thought, maybe vertical text support should be added to Emacs too. Vertical text is used in scripts like the CJK characters, Mongolian, Phags Pa, Ogham etc. Scripts like the CJK characters do not need to be rotated when written vertically and can be written either from ltr or rtl, while scripts like Mongolian are rotated and written from left to right. So my questions are: Should this be done? If so, where should I start. How to correctly mix non vertical and vertical scripts in the same buffer, if it is even possible. Should this be a minor mode only? Here are some reference links: This UAX#50 defines default orientation for various unicode characters: https://www.unicode.org/reports/tr50/tr50-26.html This website defines orientation of all unicode characters: https://www.unicode.org/Public/vertical/revision-17/VerticalOrientation-17.html Robust Vertical Text Layout: Using the Unicode BIDI Algorithm to Handle Complexities in Typesetting Multi-Script Vertical Text: https://www.unicode.org/notes/tn22/RobustVerticalLayout.pdf css-writing-modes-4: https://www.w3.org/TR/css-writing-modes-4/ OTF Tags for vertical text: https://docs.microsoft.com/en-us/typography/opentype/spec/features_uz#tag-vert https://docs.microsoft.com/en-us/typography/opentype/spec/features_uz#tag-vrtr This is what the UAX#9 says about bidi text in vertical orientation: https://unicode.org/reports/tr9/#Vertical_Text A website that has vertical text orientation: https://wikibilig.mn/ I do not promise that this would be completed, but atleast I can try. Thanks. --000000000000ce3bb605e155f5d8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Recently while implementing the Mongolian script, I though= t, maybe vertical text support should be added to Emacs too.

Vertica= l text is used in scripts like the CJK characters, Mongolian, Phags Pa, Ogh= am etc.
Scripts like the CJK characters do not need to be rotated when w= ritten vertically and can be written either from ltr or rtl,
while scrip= ts like Mongolian are rotated and written from left to right.

So my = questions are: Should this be done? If so, where should I start.
How to = correctly mix non vertical and vertical scripts in the same buffer, if it i= s even possible.
Should this be a minor mode only?

Here are some = reference links:
This UAX#50 defines default orientation for various uni= code characters: https://www.unicode.org/reports/tr50/tr50-26.html
This website d= efines orientation of all unicode characters: https://www.= unicode.org/Public/vertical/revision-17/VerticalOrientation-17.html
=
Robust Vertical Text Layout: Using the Unicode BIDI Algorithm to Handle= Complexities in Typesetting Multi-Script Vertical Text:
https://www.unicod= e.org/notes/tn22/RobustVerticalLayout.pdf

css-writing-modes-4: <= a href=3D"https://www.w3.org/TR/css-writing-modes-4/">https://www.w3.org/TR= /css-writing-modes-4/

OTF Tags for vertical text: https://docs.microsoft.com/en-us/typography/op= entype/spec/features_uz#tag-vrtr

This is what the UAX#9 says abo= ut bidi text in vertical orientation: https://unicode.org/reports/tr9/#Vertical_Text
A website that has vertical text orientation: https://wikibilig.mn/

I do not promise that this would= be completed, but atleast I can try.
Thanks.
--000000000000ce3bb605e155f5d8--