[Issue 5221] entity.c: Merge Walter's list with Thomas'

2015-06-09 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5221

Andrei Alexandrescu  changed:

   What|Removed |Added

Version|D1 & D2 |D2

--


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-02-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221


Don  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #19 from Don  2011-02-06 13:41:15 PST ---
Fixed:
https://github.com/D-Programming-Language/dmd/commit/b46fe402cff4618f5d49f99d71b8fefb764e16e5

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-02-04 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #18 from Aziz K�ksal  2011-02-04 05:03:04 
PST ---
(In reply to comment #12)
> > // Notice the leading space in the value.
> > 
> 
> Means nothing.

I guess you're right, since on the following list the value of those combining
characters consists of only one Unicode codepoint:

http://www.w3.org/2003/entities/2007doc/byalpha.html

For ⃜ it's U+20DC.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #17 from Don  2011-01-31 14:17:09 PST ---
(In reply to comment #16)
> (In reply to comment #15)
> > That book was published in 2006. Can we assume that unicode support is
> > widespread enough now that we should change to the more correct value?
> 
> I would assume it to be safe to change. Having looked up on the reference
> myself, it appears to be added as part of the HTML5 standard?

Yes. The old definition was in 4.01, back in 1999. And here's the problem --
HTML5 still hasn't been ratified, and the documents all say "draft". 

I wrote these next two lines:
"So, I'm not sure that we can use these entity values yet. Are we certain that
they're not going to change them before HTML5 becomes official?"

and then I read this:
http://blog.whatwg.org/html-is-the-new-html5
indicating that html5 will never happen, and the draft documents are as
"standard" as it's ever going to get. That's a spectacular failure.

So I guess there's no reason to hold off on the patch.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #16 from Iain Buclaw  2011-01-31 03:36:26 PST 
---
(In reply to comment #15)
> That book was published in 2006. Can we assume that unicode support is
> widespread enough now that we should change to the more correct value?

I would assume it to be safe to change. Having looked up on the reference
myself, it appears to be added as part of the HTML5 standard?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #15 from Don  2011-01-31 01:08:57 PST ---
The DMD test suite chokes on:
⟨ == 9001 (== U+2329), in the new list it is U+27E8.

This really scared me, because I found a few web references that listed ⟨
as U+2329.
http://www.fileformat.info/info/unicode/char/2329/index.htm

Turns out that U+2329 and U+27E8 are visually almost identical.

I found this helpful note in
http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#endnote_lang

lang: 'mathematical left angle bracket' is NOT the same character as U+003C
'less than', or U+2039 'single left-pointing angle quotation mark', or U+2329
'left-pointing angle bracket', or U+3008 'left angle bracket'.

I finally found what has happened: U+27E8 was added in unicode 3.2.0
In the book "unicode explained", p423, it says that U+27E8 is poorly supported
(because it was a recent addition to unicode) and that U+2329 is a more
practical choice. But, U+2329 is canonically equivalent to U+3008, and is
intended for chinese-japanese-korean ideographs, and it can look wrong if it
goes through a normalization process.

That book was published in 2006. Can we assume that unicode support is
widespread enough now that we should change to the more correct value?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221


Iain Buclaw  changed:

   What|Removed |Added

 Attachment #887 is|0   |1
   obsolete||


--- Comment #13 from Iain Buclaw  2011-01-30 06:28:20 PST 
---
Created an attachment (id=889)
new entity.c source based off new w3 list

Dang diggity, just realised that some items are in the wrong order.

Uploading corrected source.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221


Iain Buclaw  changed:

   What|Removed |Added

 Attachment #888 is|0   |1
   obsolete||


--- Comment #14 from Iain Buclaw  2011-01-30 06:29:42 PST 
---
Created an attachment (id=890)
diff between file and donc/dmd/src/entity.c

And corrected diff between file and Don's copy.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #12 from Iain Buclaw  2011-01-29 11:59:07 PST 
---
(In reply to comment #11)
> The odd ones that stand out are:
> 
> 

amp is 0x0026.

> // The name has a dot (you already noticed.)
> 

Yep, the DMD parser can't handle it.

> // Notice the leading space in the value.
> 

Means nothing.

> // The entity has two characters in its value.
> 

They are called composited characters.

try:
writeln(cast(dchar)0x003D);
writeln(cast(dchar)0x003D,cast(dchar)0x20E5);

And spot the difference.

> // Double chars + initial &.
> 
> 

nvlt is 0x003C,0x20D2.

Regards

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #11 from Aziz K�ksal  2011-01-29 08:53:01 
PST ---
Good to see somebody is working on this. :)

Here's some info I could gather on the entities in that file:

Almost all entities look like this:



The odd ones that stand out are:


// The name has a dot (you already noticed.)

// Notice the leading space in the value.

// The entity has two characters in its value.

// Double chars + initial &.



I was wondering what constitutes valid names for HTML entities and after a long
and hard search I found this page:
http://www.w3.org/TR/REC-xml/#NT-Name

Basically you can stick in a lot more different characters than just
alphanumeric ones into an HTML entity. However, I would not recommend adjusting
the lexer to recognise all of them. We should just allow only those that are
actually in the list, because it keeps things a lot simpler. Therefore the "."
char should be allowed as well.

But what to do about those entities that define two replacement characters?
Again, to keep things simple and efficient, let's just leave them out of the
lookup-table in the compiler.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #9 from Iain Buclaw  2011-01-29 02:40:57 PST ---
Created an attachment (id=888)
diff between file and donc/dmd/src/entity.c

Attaching diff between new file and
https://github.com/donc/dmd/blob/master/src/entity.c

Used 'diff -wur' to ignore whitespace differences.

Regards

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #10 from Iain Buclaw  2011-01-29 02:43:45 PST 
---
By the way, given the larger list size, I'd recommend a bsearch to lookup the
entities.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #8 from Iain Buclaw  2011-01-29 02:39:02 PST ---
Created an attachment (id=887)
new entity.c source based off new link

Attaching new source file based off link above (made rather swiftly using vi
macros).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-28 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #7 from Iain Buclaw  2011-01-28 16:21:55 PST ---
Answered that myself, no it does not. :)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-28 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #6 from Iain Buclaw  2011-01-28 16:20:41 PST ---
(In reply to comment #5)
> (In reply to comment #4)
> > I researched this issue with named HTML entities and found several, 
> > different
> > lists out there.
> > 
> > I think the following list is the most complete and most accurate one:
> > 
> > http://www.w3.org/2003/entities/2007/w3centities-f.ent
> > 
> > Please consider mentioning this in the language specification.
> 
> A few hours ago I merged this patch into my fork of dmd. Complete source is
> here:
> 
> https://github.com/donc/dmd/blob/master/src/entity.c
> 
> Would be great if you or someone else could compare that list, to the one
> you've just posted.

There are quite a lot of additions, and the odd difference inbetween. I can do
an update, though I guess it depends on how much you want to put in.

There are entities to whom's value is large than a unsigned short. eg:

"b.nu", 0x1D6CE,
"b.Omega",  0x1D6C0,
"b.omega",  0x1D6DA,
"Bopf", 0x1D539,
"bopf", 0x1D553,

Which then leads to question #2, does the parser allow '\&b.nu;' ?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-28 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221


Don  changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au


--- Comment #5 from Don  2011-01-28 14:36:53 PST ---
(In reply to comment #4)
> I researched this issue with named HTML entities and found several, different
> lists out there.
> 
> I think the following list is the most complete and most accurate one:
> 
> http://www.w3.org/2003/entities/2007/w3centities-f.ent
> 
> Please consider mentioning this in the language specification.

A few hours ago I merged this patch into my fork of dmd. Complete source is
here:

https://github.com/donc/dmd/blob/master/src/entity.c

Would be great if you or someone else could compare that list, to the one
you've just posted.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2011-01-28 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221


Aziz K�ksal  changed:

   What|Removed |Added

 CC||aziz.koek...@gmail.com


--- Comment #4 from Aziz K�ksal  2011-01-28 14:25:56 
PST ---
I researched this issue with named HTML entities and found several, different
lists out there.

I think the following list is the most complete and most accurate one:

http://www.w3.org/2003/entities/2007/w3centities-f.ent

Please consider mentioning this in the language specification.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2010-11-26 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #3 from Iain Buclaw  2010-11-26 11:42:28 PST ---
Created an attachment (id=834)
Updated merge.

Yikes! I didn't know my last update was going to do *that*.

Sorry for any noise, here's an updated patch against the svn, adds some bits,
corrects some mistakes in Thomas' list.

Checked and tested against the testsuite. =)

Regards

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5221] entity.c: Merge Walter's list with Thomas'

2010-11-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #2 from Iain Buclaw  2010-11-16 06:07:53 PST ---
(From update of attachment 815)
diff -ur src.orig/entity.c src/entity.c
--- src.orig/entity.c2010-03-31 01:26:18.0 +0100
+++ src/entity.c2010-11-16 14:01:58.423055202 +
@@ -9,6 +9,7 @@


 #include 
+#include 

 /*
  * Convert from named entity to its encoding.
@@ -23,7 +24,6 @@
 unsigned short value;
 };

-#if IN_GCC
 static NameId namesA[]={
 "Aacgr",0x0386,
 "aacgr",0x03AC,
@@ -42,7 +42,9 @@
 "agr",  0x03B1,
 "Agrave",   0x00C0,
 "agrave",   0x00E0,
+"alefsym",  0x2135,
 "aleph",0x2135,
+"Alpha",0x0391,
 "alpha",0x03B1,
 "Amacr",0x0100,
 "amacr",0x0101,
@@ -76,9 +78,11 @@
 "bcong",0x224C,
 "Bcy",  0x0411,
 "bcy",  0x0431,
+"bdquo",0x201E,
 "becaus",   0x2235,
 "bepsi",0x220D,
 "bernou",   0x212C,
+"Beta", 0x0392,
 "beta", 0x03B2,
 "beth", 0x2136,
 "Bgr",  0x0392,
@@ -162,6 +166,7 @@
 "CHcy", 0x0427,
 "chcy", 0x0447,
 "check",0x2713,
+"Chi",  0x03A7,
 "chi",  0x03C7,
 "cir",  0x25CB,
 "circ", 0x005E,
@@ -178,6 +183,7 @@
 "coprod",   0x2210,
 "copy", 0x00A9,
 "copysr",   0x2117,
+"crarr",0x21B5,
 "cross",0x2717,
 "cuepr",0x22DE,
 "cuesc",0x22DF,
@@ -281,17 +287,21 @@
 "Eogon",0x0118,
 "eogon",0x0119,
 "epsi", 0x220A,
+"Epsilon",  0x0395,
+"epsilon",  0x03B5,
 "epsis",0x220A,
 "epsiv",0x03B5,
 "equals",   0x003D,
 "equiv",0x2261,
 "erDot",0x2253,
 "esdot",0x2250,
+"Eta",  0x0397,
 "eta",  0x03B7,
 "ETH",  0x00D0,
 "eth",  0x00F0,
 "Euml", 0x00CB,
 "euml", 0x00EB,
+"euro", 0x20AC,
 "excl", 0x0021,
 "exist",0x2203,
 NULL,   0
@@ -325,6 +335,7 @@
 "frac56",   0x215A,
 "frac58",   0x215D,
 "frac78",   0x215E,
+"frasl",0x2044,
 "frown",0x2322,
 NULL,   0
 };
@@ -425,6 +436,7 @@
 "iocy", 0x0451,
 "Iogon",0x012E,
 "iogon",0x012F,
+"Iota", 0x0399,
 "iota", 0x03B9,
 "iquest",   0x00BF,
 "isin", 0x220A,
@@ -450,6 +462,7 @@
 };

 static NameId namesK[]={
+"Kappa",0x039A,
 "kappa",0x03BA,
 "kappav",   0x03F0,
 "Kcedil",   0x0136,
@@ -523,7 +536,9 @@
 "lozf", 0x2726,
 "lpar", 0x0028,
 "lrarr2",   0x21C6,
+"lrm",  0x200E,
 "lrhar2",   0x21CB,
+"lsaquo",   0x2039,
 "lsh",  0x21B0,
 "lsim", 0x2272,
 "lsqb", 0x005B,
@@ -561,6 +576,7 @@
 "mldr", 0x2026,
 "mnplus",   0x2213,
 "models",   0x22A7,
+"Mu",   0x039C,
 "mu",   0x03BC,
 "mumap",0x22B8,
 NULL,   0
@@ -573,8 +589,7 @@
 "nap",  0x2249,
 "napos",0x0149,
 "natur",0x266E,
-//  "nbsp", 0x00A0,
-"nbsp", 32,// make non-breaking space appear as space
+"nbsp", 0x00A0,
 "Ncaron",   0x0147,
 "ncaron",   0x0148,
 "Ncedil",   0x0145,
@@ -631,6 +646,7 @@
 "nsupE",0x2289,
 "Ntilde",   0x00D1,
 "ntilde",   0x00F1,
+"Nu",   0x039D,
 "nu",   0x03BD,
 "num",  0x0023,
 "numero",   0x2116,
@@ -671,10 +687,13 @@
 "ohgr", 0x03C9,
 "ohm",  0x2126,
 "olarr",0x21BA,
+"oline",0x203E,
 "Omacr",0x014C,
 "omacr",0x014D,
 "Omega",0x03A9,
 "omega",0x03C9,
+"Omicron",  0x039F,
+"omicron",  0x03BF,
 "ominus",   0x2296,
 "oplus",0x2295,
 "or",   0x2228,
@@ -709,6 +728,7 @@
 "PHgr", 0x03A6,
 "phgr", 0x03C6,
 "Phi",  0x03A6,
+"phi",  0x03C6,
 "phis", 0x03C6,
 "phiv", 0x03D5,
  

[Issue 5221] entity.c: Merge Walter's list with Thomas'

2010-11-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5221



--- Comment #1 from Iain Buclaw  2010-11-16 05:45:59 PST ---
Random examples of tests that fail on DMD:

static assert('\✓'==10003);
static assert('\≲'==8818);
static assert('\№'==8470);
static assert('\⌝'==8989);
static assert('\Ż'==379);


Regards

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---