-
Notifications
You must be signed in to change notification settings - Fork 17
Simple names
Justin Parker edited this page Jul 18, 2019
·
1 revision
-
Full names should support the entire Unicode character set.
-
When presenting reduced (brief) names:
- characters between round-brackets and those round-brackets are to be considered extraneous e.g.
Area A - Display (Samsung)
-
//
and following characters are to be considered extraneous(c-like) -
--
and following characters are to be considered extraneous (sql-like)
- characters between round-brackets and those round-brackets are to be considered extraneous e.g.
-
When matching, flattened names are used according to the above rules as well as:
- all non-alphanumeric characters below code 127 (
0x7f
) are extraneous e.g.-
,_
,.
,!
, etc. - full Unicode case-insensitivity
- diacritics are to be reduced according to (and then treated case-insensitively):
- all non-alphanumeric characters below code 127 (
{
"äæǽ": "ae", "öœ": "oe", "ü": "ue", "Ä": "Ae", "Ü": "Ue", "Ö": "Oe",
"ÀÁÂÃÄÅǺĀĂĄǍΑΆẢẠẦẪẨẬẰẮẴẲẶА": "A", "àáâãåǻāăąǎªαάảạầấẫẩậằắẵẳặа": "a",
"Б": "B", "б": "b", "ÇĆĈĊČ": "C", "çćĉċč": "c", "Д": "D", "д": "d", "ÐĎĐΔ": "Dj", "ðďđδ": "dj",
"ÈÉÊËĒĔĖĘĚΕΈẼẺẸỀẾỄỂỆЕЭ": "E", "èéêëēĕėęěέεẽẻẹềếễểệеэ": "e",
"Ф": "F", "ф": "f", "ĜĞĠĢΓГҐ": "G", "ĝğġģγгґ": "g", "ĤĦ": "H", "ĥħ": "h",
"ÌÍÎÏĨĪĬǏĮİΗΉΊΙΪỈỊИЫ": "I", "ìíîïĩīĭǐįıηήίιϊỉịиыї": "i",
"Ĵ": "J", "ĵ": "j", "ĶΚК": "K", "ķκк": "k", "ĹĻĽĿŁΛЛ": "L", "ĺļľŀłλл": "l",
"М": "M", "м": "m", "ÑŃŅŇΝН": "N", "ñńņňʼnνн": "n",
"ÒÓÔÕŌŎǑŐƠØǾΟΌΩΏỎỌỒỐỖỔỘỜỚỠỞỢО": "O", "òóôõōŏǒőơøǿºοόωώỏọồốỗổộờớỡởợо": "o",
"П": "P", "п": "p", "ŔŖŘΡР": "R", "ŕŗřρр": "r", "ŚŜŞȘŠΣС": "S", "śŝşșšſσςс": "s",
"ȚŢŤŦτТ": "T", "țţťŧт": "t", "ÙÚÛŨŪŬŮŰŲƯǓǕǗǙǛŨỦỤỪỨỮỬỰУ": "U",
"ùúûũūŭůűųưǔǖǘǚǜυύϋủụừứữửựу": "u", "ÝŸŶΥΎΫỲỸỶỴЙ": "Y", "ýÿŷỳỹỷỵй": "y",
"В": "V", "в": "v", "Ŵ": "W", "ŵ": "w", "ŹŻŽΖЗ": "Z", "źżžζз": "z",
"ÆǼ": "AE", "ß": "ss", "IJ": "IJ", "ij": "ij", "Œ": "OE", "ƒ": "f", "ξ": "ks", "π": "p",
"β": "v", "μ": "m", "ψ": "ps", "Ё": "Yo", "ё": "yo", "Є": "Ye", "є": "ye", "Ї": "Yi",
"Ж": "Zh", "ж": "zh", "Х": "Kh", "х": "kh", "Ц": "Ts", "ц": "ts", "Ч": "Ch", "ч": "ch",
"Ш": "Sh", "ш": "sh", "Щ": "Shch", "щ": "shch", "ЪъЬь": "", "Ю": "Yu", "ю": "yu", "Я": "Ya", "я": "ya"
}
Nodel matches names according to their flattened form
-
Given:
XYZ Gallery FP ("First Peoples")
XYZ Gallery ABC Display 1 (LG 34Z00 on the left)
XYZ Gallery ABC Display 2 (Samsung UA65 on the right)
XYZ Gallery ABC Player // TODO: IP address required
XYZ Gallery SW SS ("Science Works - Science Stage") -- TODO: not online until Feb
Remote bindings to those nodes can be the reduced forms
XYZ Gallery FP
,XYZ Gallery ABC Display 1
,XYZ Gallery ABC Display 2
,XYZ Gallery ABC Player
andXYZ Gallery SW SS
and respectively and never need updating. -
in node URLs, reduced names used instead of originals
- e.g.
http://.../nodes/GalleryXYZADAM6060relaydevice/
instead ofhttp://.../nodes/Gallery%20XYZ%20ADAM%206060%20relay%20device/
- e.g.
-
diacritic flattening:
Crème Brûlée
andcreme brulee
are equivalent (andcremebrulee
of course) -
uses relaxed URL-encoded file names for node names (complete unrestricted Unicode support regardless of OS support)
- alphanumeric ASCII and only
()[]{}'&^$#@!
~;.+=-_,` are treated as safe, everything else is "%" UTF-8 encoded
- alphanumeric ASCII and only
Nodel: http://nodel.io/ | White Paper