[xml2rfc] Unicode box-drawing for a new --table-borders value?

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 29 January 2021 22:55 UTC

Return-Path: <dkg@fifthhorseman.net>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 607093A1362; Fri, 29 Jan 2021 14:55:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=fifthhorseman.net header.b=Z0FViGJ8; dkim=pass (2048-bit key) header.d=fifthhorseman.net header.b=EaeeE39T
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 264TUzsM4SnA; Fri, 29 Jan 2021 14:55:19 -0800 (PST)
Received: from che.mayfirst.org (che.mayfirst.org [IPv6:2001:470:1:116::7]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 672F33A135F; Fri, 29 Jan 2021 14:55:19 -0800 (PST)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1611960918; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=QUGuR5r41x/acAKSkfYfu6sS48PaRDHzBTfyF2OHMtE=; b=Z0FViGJ8RhKXQO6cyFaWfP9iGQGK41o9dbX9jA4U7MAHA/4856QIMjcnxGQI56ouByC8n kbsINM32oIv7r+mBw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1611960918; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=QUGuR5r41x/acAKSkfYfu6sS48PaRDHzBTfyF2OHMtE=; b=EaeeE39TQTfqa/SPWmShdpBH88XxTYIFFcW4xBxwJ3zZHEbW5AI67IrI3AmZpZmaXqnJE 9sgZ5Pfib4AGOxFpugxMTWaAYI2fTJfldJves25YWejU8HUQ/YHFzWqPha0z5WToe9GrztS NnAgTWKD8bQtPOBvITLUZTX2rekblsGFk7VE448KLlsewyaWOUXCA+UyUptQlx6Ct2pM5a8 OKy9bFzV4y9GBZ+ILSX0U/RfJ4YeLfN8cVTD0nYFua0XeUFLyIaqFpYVpQQGP7h/3cYg8kz PFfjUQ7CB2Z5gorKXO9A2oL2YKjZHie8jR7pJ2wVJoHf5VIN5mM4+EUpJzbA==
Received: from fifthhorseman.net (lair.fifthhorseman.net [108.58.6.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id 0AE3EF9A6; Fri, 29 Jan 2021 17:55:17 -0500 (EST)
Received: by fifthhorseman.net (Postfix, from userid 1000) id C550D2054A; Fri, 29 Jan 2021 17:55:15 -0500 (EST)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: xml2rfc-dev@ietf.org, xml2rfc@ietf.org
Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= mDMEX+i03xYJKwYBBAHaRw8BAQdACA4xvL/xI5dHedcnkfViyq84doe8zFRid9jW7CC9XBiI0QQf FgoAgwWCX+i03wWJBZ+mAAMLCQcJEOCS6zpcoQ26RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl cXVvaWEtcGdwLm9yZ/tr8E9NA10HvcAVlSxnox6z62KXCInWjZaiBIlgX6O5AxUKCAKbAQIeARYh BMKfigwB81402BaqXOCS6zpcoQ26AADZHQD/Zx9nc3N2kj13AUsKMr/7zekBtgfSIGB3hRCU74Su G44A/34Yp6IAkndewLxb1WdRSokycnaCVyrk0nb4imeAYyoPtBc8ZGtnQGZpZnRoaG9yc2VtYW4u bmV0PojRBBMWCgCDBYJf6LTfBYkFn6YAAwsJBwkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3Rh dGlvbnMuc2VxdW9pYS1wZ3Aub3JnL0Gwxvypz2tu1IPG+yu1zPjkiZwpscsitwrVvzN3bbADFQoI ApsBAh4BFiEEwp+KDAHzXjTYFqpc4JLrOlyhDboAAPkXAP0Z29z7jW+YzLzPTQML4EQLMbkHOfU4 +s+ki81Czt0WqgD/SJ8RyrqDCtEP8+E4ZSR01ysKqh+MUAsTaJlzZjehiQ24MwRf6LTfFgkrBgEE AdpHDwEBB0DkKHOW2kmqfAK461+acQ49gc2Z6VoXMChRqobGP0ubb4kBiAQYFgoBOgWCX+i03wWJ BZ+mAAkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnfvo+ nHoxDwaLaJD8XZuXiaqBNZtIGXIypF1udBBRoc0CmwICHgG+oAQZFgoAbwWCX+i03wkQPp1xc3He VlxHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnaheiqE7Pfi3Atb3GGTw+ jFcBGOaobgzEJrhEuFpXREEWIQQttUkcnfDcj0MoY88+nXFzcd5WXAAAvrsBAIJ5sBg8Udocv25N stN/zWOiYpnjjvOjVMLH4fV3pWE1AP9T6hzHz7hRnAA8d01vqoxOlQ3O6cb/kFYAjqx3oMXSBhYh BMKfigwB81402BaqXOCS6zpcoQ26AADX7gD/b83VObe14xrNP8xcltRrBZF5OE1rQSPkMNy+eWpk eCwA/1hxiS8ZxL5/elNjXiWuHXEvUGnRoVj745Vl48sZPVYMuDgEX+i03xIKKwYBBAGXVQEFAQEH QIGex1WZbH6xhUBve5mblScGYU+Y8QJOomXH+rr5tMsMAwEICYjJBBgWCgB7BYJf6LTfBYkFn6YA CRDgkus6XKENukcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcEAx9vTD3b J0SXkhvcRcCr6uIDJwic3KFKxkH1m4QW0QKbDAIeARYhBMKfigwB81402BaqXOCS6zpcoQ26AAAX mwD8CWmukxwskU82RZLMk5fm1wCgMB5z8dA50KLw3rgsCykBAKg1w/Y7XpBS3SlXEegIg1K1e6dR fRxL7Z37WZXoH8AH
Date: Fri, 29 Jan 2021 17:55:14 -0500
Message-ID: <8735yje4kt.fsf@fifthhorseman.net>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/3d141b7SDdvFSl1eNyxlHJ0l0XE>
Subject: [xml2rfc] Unicode box-drawing for a new --table-borders value?
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 Jan 2021 22:55:21 -0000

Hi xml2rfc folks--

Now that we can include unicode characters in our text documents, has
anyone considered adding a new type of --table-borders flag that uses
the unicode box-drawing characters?

In particular, i'm thinking of the U+2500..U+256C range:

          .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F 
     250.  ─  ━  │  ┃  ┄  ┅  ┆  ┇  ┈  ┉  ┊  ┋  ┌  ┍  ┎  ┏ 
     251.  ┐  ┑  ┒  ┓  └  ┕  ┖  ┗  ┘  ┙  ┚  ┛  ├  ┝  ┞  ┟ 
     252.  ┠  ┡  ┢  ┣  ┤  ┥  ┦  ┧  ┨  ┩  ┪  ┫  ┬  ┭  ┮  ┯ 
     253.  ┰  ┱  ┲  ┳  ┴  ┵  ┶  ┷  ┸  ┹  ┺  ┻  ┼  ┽  ┾  ┿ 
     254.  ╀  ╁  ╂  ╃  ╄  ╅  ╆  ╇  ╈  ╉  ╊  ╋  ╌  ╍  ╎  ╏ 
     255.  ═  ║  ╒  ╓  ╔  ╕  ╖  ╗  ╘  ╙  ╚  ╛  ╜  ╝  ╞  ╟ 
     256.  ╠  ╡  ╢  ╣  ╤  ╥  ╦  ╧  ╨  ╩  ╪  ╫  ╬

Looking at the use of bchar in xml2rfc/writers/text.py, it looks to me
like it should be easy enough to map three of the four border
characters:

      '=': '═',
      '-': '─',
      '|': '│',

But the corner border character ('+') has many different
options/permutations:

     '┌', '┐', '├', '┤', '┬', '┴', '┼',
     '╒', '╕', '╘', '╛', '╞', '╡', '╤', '╧', '╪'

so it's this last bit that seems challenging to implement, since it
looks like the current code just says "corners are corners" and doesn't
distinguish between all these cases.

Should i report this as an RFE on
https://trac.tools.ietf.org/tools/xml2rfc/trac/newticket or is there
some other preferred way to track such a suggestion?
https://tools.ietf.org/tools/xml2rfc/trac/report is timing out for me so
i can't tell whether it's already been reported there.

            --dkg

PS i'm thinking this because we're using some box drawing characters
   already in some of the verbatim sections (e.g. § 4.2 "Packet Headers"
   and § 6.3.  "Encoding Binary in Radix-64") and it seems a bit clunky
   to have these clean boxes adjacent to the rather clumsier US-ASCII
   table borders.