I thought that it is useful to have this Curl 7.0 info in one place. On my Windows PC, the procedure returns over 100 CharEncoding of various types.
The information is in two dumps: one by type from the debugger and one as terminal output (they are separated by a Curl comment below.)
The first dump I have reordered slightly to group the types.
{get-all-character-encodings} || 103 items in {Array-of CharEncoding}
type name
NoneCharEncoding "none-specified"
ShiftJISCharEncoding "shift-jis"
EUCJPCharEncoding "euc-jp"
UTF8CharEncoding "utf8"
UTF8CharEncoding "utf8-with-byte-marker"
UTF16CharEncoding "ucs2-big-endian"
UTF16CharEncoding "ucs2-little-endian"
UTF16UnknownEndianCharEncoding "ucs2-unknown-endian"
SingleByteCharEncoding "ascii"
SingleByteCharEncoding "iso-latin-1"
MappedSingleByteCharEncoding "windows-latin-1"
MappedSingleByteCharEncoding "iso-latin-2"
MappedSingleByteCharEncoding "iso-latin-3"
MappedSingleByteCharEncoding "iso-latin-4"
MappedSingleByteCharEncoding "iso-cyrillic"
MappedSingleByteCharEncoding "iso-greek"
MappedSingleByteCharEncoding "iso-latin-5"
MappedSingleByteCharEncoding "iso-latin-6"
MappedSingleByteCharEncoding "iso-latin-7"
MappedSingleByteCharEncoding "iso-latin-8"
MappedSingleByteCharEncoding "iso-latin-9"
MappedSingleByteCharEncoding "windows-latin-2"
MappedSingleByteCharEncoding "windows-cyrillic"
MappedSingleByteCharEncoding "windows-greek"
MappedSingleByteCharEncoding "windows-turkish"
MappedSingleByteCharEncoding "windows-baltic"
MappedSingleByteCharEncoding "koi8-r"
MappedSingleByteCharEncoding "koi8-u"
MappedSingleByteCharEncoding "dos-cyrillic"
HostEncoding "win32:21027" 21027
HostEncoding "win32:52936" 52936
HostEncoding "win32:50227" 50227
HostEncoding "iso-8859-11" 874
HostEncoding "win32:50220" 50220
HostEncoding "win32:10003" 10003
HostEncoding "win32:10007" 10007
HostEncoding "win32:10079" 10079
HostEncoding "win32:21866" 21866
HostEncoding "win32:1254" 1254
HostEncoding "win32:28605" 28605
HostEncoding "win32:28597" 28597
HostEncoding "win32:50229" 50229
HostEncoding "win32:28592" 28592
HostEncoding "win32:855" 855
HostEncoding "win32:10000" 10000
HostEncoding "win32:10008" 10008
HostEncoding "win32:51949" 51949
HostEncoding "win32:65000" 65000
HostEncoding "win32:10082" 10082
HostEncoding "win32:65001" 65001
HostEncoding "win32:28603" 28603
HostEncoding "gb2312" 936
HostEncoding "win32:1257" 1257
HostEncoding "win32:860" 860
HostEncoding "win32:20000" 20000
HostEncoding "win32:10006" 10006
HostEncoding "gb2312-80" 20936
HostEncoding "win32:10017" 10017
HostEncoding "win32:866" 866
HostEncoding "gb18030" 54936
HostEncoding "win32:37" 37
HostEncoding "win32:1253" 1253
HostEncoding "win32:10029" 10029
HostEncoding "win32:20949" 20949
HostEncoding "win32:1026" 1026
HostEncoding "win32:20127" 20127
HostEncoding "johab" 1361
HostEncoding "win32:28599" 28599
HostEncoding "euc-kr" 949
HostEncoding "win32:863" 863
HostEncoding "win32:20932" 20932
HostEncoding "win32:1252" 1252
HostEncoding "win32:737" 737
HostEncoding "win32:28594" 28594
HostEncoding "win32:28591" 28591
HostEncoding "win32:20866" 20866
HostEncoding "win32:28595" 28595
HostEncoding "win32:875" 875
HostEncoding "win32:500" 500
HostEncoding "win32:20290" 20290
HostEncoding "win32:50225" 50225
HostEncoding "win32:10010" 10010
HostEncoding "win32:50222" 50222
HostEncoding "win32:20261" 20261
HostEncoding "win32:1251" 1251
HostEncoding "win32:861" 861
HostEncoding "win32:437" 437
HostEncoding "win32:869" 869
HostEncoding "windows-1255" 1255
HostEncoding "win32:10002" 10002
HostEncoding "win32:10081" 10081
HostEncoding "windows-1258" 1258
HostEncoding "win32:857" 857
HostEncoding "win32:50221" 50221
HostEncoding "win32:10001" 10001
HostEncoding "win32:775" 775
HostEncoding "win32:865" 865
HostEncoding "win32:932" 932
HostEncoding "win32:852" 852
HostEncoding "win32:1250" 1250
HostEncoding "windows-1256" 1256
HostEncoding "win32:850" 850
HostEncoding "big5" 950
|# ------------------------------------------------------------------------ #|
name display-name
none-specified None
ascii US ASCII
iso-latin-1 Western European (ISO)
windows-latin-1 Western European (Windows)
utf8 Unicode (UTF-8)
utf8-with-byte-marker utf8-with-byte-marker
ucs2-big-endian Unicode (UTF-16BE)
ucs2-little-endian Unicode (UTF-16LE)
ucs2-unknown-endian Unicode (UTF-16)
iso-latin-2 Central European (ISO)
iso-latin-3 Southern European (ISO)
iso-latin-4 Northern European (ISO)
iso-cyrillic Cyrillic (ISO)
iso-greek Greek (ISO)
iso-latin-5 Turkish (ISO)
iso-latin-6 Nordic (ISO)
iso-latin-7 Baltic (ISO)
iso-latin-8 Celtic (ISO)
iso-latin-9 Latin 9 (ISO)
windows-latin-2 Central European (Windows)
windows-cyrillic Cyrillic (Windows)
windows-greek Greek (Windows)
windows-turkish Turkish (Windows)
windows-baltic Baltic (Windows)
koi8-r Cyrillic (KOI8-R)
koi8-u Cyrillic (KOI8-U)
dos-cyrillic Cyrillic (DOS)
shift-jis Japanese (Shift-JIS)
euc-jp Japanese (EUC)
win32:21027 21027 (Ext Alpha Lowercase)
win32:52936 52936 (HZ-GB2312 Simplified Chinese)
win32:50227 50227 (ISO-2022 Simplified Chinese)
iso-8859-11 Thai (ISO)
win32:50220 50220 (ISO-2022 Japanese with no halfwidth Katakana)
win32:10003 10003 (MAC - Korean)
win32:10007 10007 (MAC - Cyrillic)
win32:10079 10079 (MAC - Icelandic)
win32:21866 21866 (Ukrainian - KOI8-U)
win32:1254 1254 (ANSI - Turkish)
win32:28605 28605 (ISO 8859-15 Latin 9)
win32:28597 28597 (ISO 8859-7 Greek)
win32:50229 50229 (ISO-2022 Traditional Chinese)
win32:28592 28592 (ISO 8859-2 Central Europe)
win32:855 855 (OEM - Cyrillic)
win32:10000 10000 (MAC - Roman)
win32:10008 10008 (MAC - Simplified Chinese GB 2312)
win32:51949 51949 (EUC-Korean)
win32:65000 65000 (UTF-7)
win32:10082 10082 (MAC - Croatia)
win32:65001 65001 (UTF-8)
win32:28603 win32:28603
gb2312 Chinese Simplified (GB2312)
win32:1257 1257 (ANSI - Baltic)
win32:860 860 (OEM - Portuguese)
win32:20000 20000 (CNS - Taiwan)
win32:10006 10006 (MAC - Greek I)
gb2312-80 Chinese Simplified (GB2312-80)
win32:10017 10017 (MAC - Ukraine)
win32:866 866 (OEM - Russian)
gb18030 Chinese Simplified (GB18030)
win32:37 37 (IBM EBCDIC - U.S./Canada)
win32:1253 1253 (ANSI - Greek)
win32:10029 10029 (MAC - Latin II)
win32:20949 win32:20949
win32:1026 1026 (IBM EBCDIC - Turkish (Latin-5))
win32:20127 20127 (US-ASCII)
johab Korean (Johab)
win32:28599 28599 (ISO 8859-9 Latin 5)
euc-kr Korean (EUC)
win32:863 863 (OEM - Canadian French)
win32:20932 20932 (JIS X 0208-1990 & 0212-1990)
win32:1252 1252 (ANSI - Latin I)
win32:737 737 (OEM - Greek 437G)
win32:28594 28594 (ISO 8859-4 Baltic)
win32:28591 28591 (ISO 8859-1 Latin I)
win32:20866 20866 (Russian - KOI8)
win32:28595 28595 (ISO 8859-5 Cyrillic)
win32:875 875 (IBM EBCDIC - Modern Greek)
win32:500 500 (IBM EBCDIC - International)
win32:20290 20290 (IBM EBCDIC - Japanese Katakana Extended)
win32:50225 50225 (ISO-2022 Korean)
win32:10010 10010 (MAC - Romania)
win32:50222 50222 (ISO-2022 Japanese JIS X 0201-1989)
win32:20261 20261 (T.61)
win32:1251 1251 (ANSI - Cyrillic)
win32:861 861 (OEM - Icelandic)
win32:437 437 (OEM - United States)
win32:869 869 (OEM - Modern Greek)
windows-1255 Hebrew (Windows)
win32:10002 10002 (MAC - Traditional Chinese Big5)
win32:10081 10081 (MAC - Turkish)
windows-1258 Vietnamese (Windows)
win32:857 857 (OEM - Turkish)
win32:50221 50221 (ISO-2022 Japanese with halfwidth Katakana)
win32:10001 10001 (MAC - Japanese)
win32:775 775 (OEM - Baltic)
win32:865 865 (OEM - Nordic)
win32:932 932 (ANSI/OEM - Japanese Shift-JIS)
win32:852 852 (OEM - Latin II)
win32:1250 1250 (ANSI - Central Europe)
windows-1256 Arabic (Windows)
win32:850 850 (OEM - Multilingual Latin I)
big5 Chinese Traditional (Big5)
|| -------------------------------------------------------------
Notes on the Curl web programming language and Curl markup using the Curl Surge Runtime Engine (RTE), the expression-based Curl language and Curl's macro facilities and class libraries
Pages
on the Curl Web Content Markup Language
on the Curl Web Content Markup and Programming Language from www.curl.com and www.curlap.com
Friday, August 5, 2011
Wednesday, August 3, 2011
Curl for creative e-books
With Facebook absorbing Push Pop Press and more interest in Curl from the server-side, should we not be taking Curl seriously as a format for creative e-books?
To get an idea, look at what TiddlySpot.com and TiddlySpace.com have been able to do for TiddlyWiki using Python and PHP.
Curl macros are natural for templates for page layout - and there is all the experience gained from the recent addition of stylesheets to Curl pages - and a new style-designer is coming.
What is missing is e-books that are sync'd to WBT as "smart textbooks" to complement web-based training (and not the fat binder of photocopies, pul-lease!
To get an idea, look at what TiddlySpot.com and TiddlySpace.com have been able to do for TiddlyWiki using Python and PHP.
Curl macros are natural for templates for page layout - and there is all the experience gained from the recent addition of stylesheets to Curl pages - and a new style-designer is coming.
What is missing is e-books that are sync'd to WBT as "smart textbooks" to complement web-based training (and not the fat binder of photocopies, pul-lease!
Saturday, July 30, 2011
Curl.TiddlySpace.com
I have started a collection of "tiddler" notes at http://curl.tiddlyspace.com using their variant of TiddlyWiki, the one page wiki.
On the server-side, these wikis tend to be PHP or Python, but on the client-side they are a tangle of JavaScript and CSS in a single portable HTML file.
So naturally I cannot help but wonder what a TiddlyWiki could offer as a Curl page. For "plugins" we might use Curl's dynamic package loading.
Many TiddlyWiki implementations are curently hampered on browsers built with WebKit in that the TW page must be accompanied by a tiny Java JAR file to permit updates to the server.
I will try to find a moment to put up a post on a TW using Curl OCC (Occasionally-connected Computing.)
A useful TW is the d-cubed variant for GTD which you can see at my http://aule‑pages.tiddlyspot.com
On the server-side, these wikis tend to be PHP or Python, but on the client-side they are a tangle of JavaScript and CSS in a single portable HTML file.
So naturally I cannot help but wonder what a TiddlyWiki could offer as a Curl page. For "plugins" we might use Curl's dynamic package loading.
Many TiddlyWiki implementations are curently hampered on browsers built with WebKit in that the TW page must be accompanied by a tiny Java JAR file to permit updates to the server.
I will try to find a moment to put up a post on a TW using Curl OCC (Occasionally-connected Computing.)
A useful TW is the d-cubed variant for GTD which you can see at my http://aule‑pages.tiddlyspot.com
Friday, July 29, 2011
TDD with the Curl web content language
I had started a series introducing Test-driven development over at the former Curl developer blogs. I may revive those posts at lcurlr.tiddlyspace.com.
One thing that may not find a place in those posts is avoiding tight-coupling of tests to class hierarchy. Curl is a multi-inheritance language with Traits or mixins (abstract classes with some generic methods implemented.) In the later stages of development, refactoring in the source code should have minimal impact on tests. That goal will only be achieved if user-defined subclasses are not needlessly referenced in tests. Behavior, not deep hierarchies, is to be our guide in development – but even such a shallow user-defined hierarchy should be loosely-coupled to our test cases.
The standard way to avoid this in single inheritance languages is to use factory methods in the tests: Curl comes with native factory constructor types. But in Curl there will also be other options particular to multiple-inheritance, parameterized classes and mixins. And with Curl macros, even more inventiveness is possible.
Tests need to wrap complexity - not expose complexity - as much as any other code that we write. Tests must both cast an wide net and yet be loosely-coupled, stable, readable, documented and maintainable.
Professional Curl installations also come with code coverage tools, whose use as can be seen in the new GUI testing framework in the Curl External Library at sourceforge.net . Coverage tools were introduced in the "classic" Curl desktop IDE and are now part of the Curl Eclipse plugin or CDE.
Thursday, July 21, 2011
Curl open-source Sonntag GUI framework
Over at communities.curl.com I have a post on the Curl open-source Sonntag framework at sourceforge.net .
Why the name? Well, it tag's components with the optional name property ... and sonner seems to ring a bell ... [ to get off a bus is an event.] O-kay, we'll stop that punning for now ...
What is needed is a much more elaborated demo than that currently available. I will try to find time to work on one. Two small things need doing for the existing demo: move it up to Curl 7.0 from 6.0 and show that Sonntag ties-in seemlessly to Curl automated testing for GUI Visual components.
From where I stand, this little framework is important for what it demonstrates about the strengths of Curl in keeping the complexity of Events for GUI widgets under wraps.
Sonntag achieves that through live-code doc's, Curl macros, mixin's, multiple inheritance and parameterized classes and effective packaging.
Monday, July 4, 2011
Curl 8.0 and mobile roadmap
The SCS Curl page has a link to CodeZine in Japan with a roadmap for Curl 8.0 thru 9.0 over the next two years.
Highlights include Curl Lite for mobile, an Application Integrated Famework and then that AIF for the Cloud, a new Style Designer for GUI skins and much more.
If you have seen or tried Mobl, you will know how very close that language is to Curl in its declarative-style DSL for mobile. Curl has been missing on mobile platforms and now Curl Lite 1.0 and 2.0 are on the roadmap now. What Mobl does not have are all the other great strengths of Curl as a language, a framework and a growing set of libraries.
There is even a mention of server-side Curl sometime in the future in the 3 page article.
Highlights include Curl Lite for mobile, an Application Integrated Famework and then that AIF for the Cloud, a new Style Designer for GUI skins and much more.
If you have seen or tried Mobl, you will know how very close that language is to Curl in its declarative-style DSL for mobile. Curl has been missing on mobile platforms and now Curl Lite 1.0 and 2.0 are on the roadmap now. What Mobl does not have are all the other great strengths of Curl as a language, a framework and a growing set of libraries.
There is even a mention of server-side Curl sometime in the future in the 3 page article.
Sunday, June 26, 2011
Curl page from Ruby CGI
Over at Aule-Browser I have Ruby CGI generating a page with the following:
This web page is Curl web content (no HTML5 or CSS or JavaScript.)
For information about Curl web markup, programming in Curl and Curl open-source: www.Curl.com
Here is the code and markup used:
but what that does not show is the simplicity of the CGI:
This web page is Curl web content (no HTML5 or CSS or JavaScript.)
For information about Curl web markup, programming in Curl and Curl open-source: www.Curl.com
Here is the code and markup used:
{curl 7.0 applet}
{curl-file-attributes character-encoding = "utf8"}
{document-style DefaultDocument}
{set-document-properties background={Background.from-string "linen"}, margin=0.75in}
{text This web page is {bold Curl web content} (no HTML5 or CSS or JavaScript.)}
{paragraph
For information about Curl web markup, programming in Curl and Curl open-source:
{link target="_blank", href={url "http://www.curl.com"}, www.Curl.com}
}
\u0000 {br} || but note that in a Ruby heredoc I must escape my unicode escape
{paragraph Here is the code and markup used:}
{pre
{curl 7.0 applet} ... etc etc ... }
but what that does not show is the simplicity of the CGI:
#!/usr/bin/ruby
# curl_01.cgi
puts "Content-Type: text/vnd.curl"
puts
puts "{curl 7.0 applet}",
<<eos
{curl-file-attributes character-encoding = "utf8"}
{applet
{compiler-directives careful? = true}
}
{document-style DefaultDocument}
{set-document-properties background={Background.from-string "linen"}, margin=0.75in}
{text This web page is {bold Curl web content} (no HTML5 or CSS or JavaScript.)}
{paragraph
For information about Curl web markup, programming in Curl and Curl open-source:
{link target="_blank", href={url "http://www.curl.com"}, www.Curl.com}
}
\\u0000 {br} || but note that in a Ruby heredoc I must escape my unicode escape
{paragraph
Here is the code and markup used:}
{pre |"
{curl 7.0 applet}
etc etc
}
eos
Subscribe to:
Posts (Atom)