get the sourcecode [of UTF-8]
Jim DeLaHunt
list+unicode at jdlh.com
Wed Nov 6 23:57:23 CST 2024
On 2024-11-06 18:45, A bughunter via Unicode wrote:
> …My query here is a sideline to my GitHub repo Unicode_map you may see
> here https://github.com/freedom-foundation/unicode_map and you may see
> my Proof of Concept
> https://github.com/freedom-foundation/unicode_map?tab=readme-ov-file#proof-of-concept
> if you would like to discuss the fine points of checksumming
Thank you for posting that link. It provides me a hint of what you want
to do.
What I see in the repo are various representations of historical
documents from the 18th century, which were originally produced as
English language text hand-written on parchment with pen and ink. You
have images of the text on physical pages, and the character content of
the texts in UTF-8. You write there,
> These documents have priority to be archived in both ASCII wordcounted
> and checksummed text and PDF/A-1 archive format for long term
> preservation then signed and attested, garunteed to be veritable to
> corresponding printed replica documents.… I’m interested in sourcecode
> and libre-sourcecode. Libre-sourcecode being defined as allof a
> machine specification (chip design), compiler and application
> sourcecode which can be written out in respective computer programming
> languages and archived, saved, transmit, reproduced, and build and run
> all from paper written legit.…
Source: <https://github.com/freedom-foundation>
Your original first two messages said,
> Where to get the sourcecode of relevent (version) UTF-8?: in order to checksum text against the specific encoding map (codepage).
Source:
<https://corp.unicode.org/pipermail/unicode/2024-November/011099.html>
> what implimentation of UTF-8: the answer is the relevent implimentation is android 13 libbionic (bionic C) which uses UTF-8.…
> …android 13 is open source AOSP and, it would be possible to point out the exact unicode used in it however this
> assumes my runtime matches a generic AOSP android 13 source. So then the way in which I framed my question does probe
> as to if there is any way to display the compile time UTF-8. Sometimes there are --version options.
> The part you do not seem to understand is the full circle of authentication of a checksummed text. In order to fully
> authenticate: the codepage of the character to glyph map must be known. Anything further on this checksumming process
> would not be directly on topic of this mailing list
Source:
<https://corp.unicode.org/pipermail/unicode/2024-November/011102.html>
Put in conventional terminology of text processing and display in
software systems, it seems that you want to preserve historical
documents in digital form. This digital form include an expansive swath
of the software stack: not just document content, but also several
layers of software and hardware necessary to present the document. As
part of this, you want to calculate some sort of robust digest of the
digital form, to let a receiver of the document assure themselves that
what they see (experience) when viewing the digital form of the document
has the same relationship to the original document which you had when
you authored the digital form.
One part of your software stack is similar to, but not necessarily the
same as, the Android Open Source Project's libbionic (an implementation
of libc).
You are looking for the source code for the part of your library which
processes character codes in UTF-8 form, believing that this source code
will show you how UTF-8 code units processed by that library will end up
displayed as "glyphs" <https://unicode.org/glossary/#glyph> on a display
surface. You want to capture this relationship between code unites and
glyphs as part of your robust digest. You expect that the answer will be
simple enough that a single email to a list will result in a simple
reply which gives you what you seek.
I did a little web searching, and I think I can point you to some places
where libbionic
<https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc>
processes code units in UTF-8 form. The source code uses the tags "mb",
short for "multi-byte", and "wc", short for "wide character", in the
names of functions which operate on UTF-8 code unit data and Unicode
scalar values respectively. Take a look at:
function mbsnrtowcs()
<https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/bionic/wchar.cpp#68>
function mbrtc32()
<https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/bionic/mbrtoc32.cpp#36>
I imagine you will find these unsatisfying. They implement the UTF-8
data conversions with no mention of either UTF-8 version or Unicode
version. Nor do they mention glyphs, fonts, character to glyph mapping,
or any of the other text rendering complexity which it seems you want to
characterise.
I have the impression that you are trying to reinvent a whole lot of
work in text representation, text display, digital document
preservation, archiving, and software preservation, without having yet
taking the time to learn about existing work in the fields. If your
intent is to preserve 18th century hand-written documents well, I
suggest you start by representing them as well-crafted PDF/A files. You
could perhaps get a PhD in digital archiving and still not exhaust all
the implications of what I think you are asking.
Good luck with your project! Best regards,
—Jim DeLaHunt
--
. --Jim DeLaHunt, jdlh at jdlh.com http://blog.jdlh.com/ (http://jdlh.com/)
multilingual websites consultant, Vancouver, B.C., Canada
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://corp.unicode.org/pipermail/unicode/attachments/20241106/de004dbe/attachment-0001.htm>
More information about the Unicode
mailing list