Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #141039

Re: c prgogram that would generate part of unicode character set

From Eli the Bearded <*@eli.users.panix.com>
Newsgroups comp.lang.c
Subject Re: c prgogram that would generate part of unicode character set
Date 2019-02-14 19:49 +0000
Organization Some absurd concept
Message-ID <eli$1902141447@qaz.wtf> (permalink)
References <7a968cf4-90a0-42e3-900e-ddb562fd0d71@googlegroups.com> <0bb49699-ad35-49f4-be56-566b6d04f071@googlegroups.com> <86ab92ea-5d6e-45d7-9a19-de3b14a86b16@googlegroups.com>

Show all headers | View raw


In comp.lang.c, fir  <profesor.fir@gmail.com> wrote:
> W dniu czwartek, 14 lutego 2019 15:03:34 UTC+1 użytkownik James Kuyper
> napisał:
>> On Thursday, February 14, 2019 at 5:11:52 AM UTC-5, fir wrote:
>>> write a program that will generate text file that will contain
> unicode characters in it (from 0 to N) it might be like
>>> 0: <space>char of codepoint 0<space><newline> 
>>> 1: <space>char of codepoint 1<space><newline> 
>>> you know what i mean, how to do that?
>> That depends upon what encoding you want to use for the unicode
>> characters. Options include GB 18030, UCS-2, UTF-8, UTF-16,
>> UTF-32(== UCS-4), or UTF-EBCDIC. There's also 7-bit variants for most
>> of those encodings.

UTF-7 :^)

Or &#...; for HTML. My Unicode toys use that, and can print blocks of
Unicode (but explicitly limited to 512 at a time so as not to be too
huge an output):

https://qaz.wtf/u/

Specifically the "Show Unicode Character" tool:

http://qaz.wtf/u/show.cgi

> the question is if generated contents (64k of wide characters from
> 0x0000 to 0xffff is properly generated)

The trouble is, not everything in that range is a defined code point.
Undefined codepoints can be outputted in the standard Unicode formats,
but will not have any meaningful display, even if your fonts are all
up to date (and chances are, not).

The list of defined characters has been updating approximately yearly
and is available here:

http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

Just poking around in that "0x0000 to 0xffff" range, here's an example
of a gap:

16F5;RUNIC LETTER FRANKS CASKET IS;Lo;0;L;;;;;N;;;;;
16F6;RUNIC LETTER FRANKS CASKET EH;Lo;0;L;;;;;N;;;;;
16F7;RUNIC LETTER FRANKS CASKET AC;Lo;0;L;;;;;N;;;;;
16F8;RUNIC LETTER FRANKS CASKET AESC;Lo;0;L;;;;;N;;;;;
1700;TAGALOG LETTER A;Lo;0;L;;;;;N;;;;;
1701;TAGALOG LETTER I;Lo;0;L;;;;;N;;;;;
1702;TAGALOG LETTER U;Lo;0;L;;;;;N;;;;;
1703;TAGALOG LETTER KA;Lo;0;L;;;;;N;;;;;

Note how there are no characters between 0x16f8 and 0x1700. Because it
works on a hex based grid, new blocks typically start on 0xNN00
boundaries, so the 0xNNfN (eg) characters are frequently undefined
"future expansion" slots for a particular block.

(Note that the UnicodeData.txt file mostly has each codepoint
explicitly named, there are some unnamed ranges, eg:

3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;
4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;

https://en.wikipedia.org/wiki/CJK_Unified_Ideographs_Extension_A

These are easy to identify by the use of lower case character names.)

Elijah
------
U+1F197 SQUARED OK

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 02:11 -0800
  Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 05:15 -0800
    Re: c prgogram that would generate part of unicode character set Bart <bc@freeuk.com> - 2019-02-14 13:38 +0000
      Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 05:56 -0800
        Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 06:24 -0800
          Re: c prgogram that would generate part of unicode character set Öö Tiib <ootiib@hot.ee> - 2019-02-14 06:42 -0800
            Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 06:53 -0800
              Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 06:57 -0800
            Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 08:20 -0800
    Re: c prgogram that would generate part of unicode character set Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-02-14 15:09 +0000
      Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 07:38 -0800
  Re: c prgogram that would generate part of unicode character set James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-02-14 06:03 -0800
    Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 06:11 -0800
      Re: c prgogram that would generate part of unicode character set Eli the Bearded <*@eli.users.panix.com> - 2019-02-14 19:49 +0000
        Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-15 08:36 -0800
  Re: c prgogram that would generate part of unicode character set guinness.tony@gmail.com - 2019-02-14 07:00 -0800
    Re: c prgogram that would generate part of unicode character set fir <profesor.fir@gmail.com> - 2019-02-14 07:33 -0800

csiph-web