{"id":5415,"date":"2022-06-03T13:36:29","date_gmt":"2022-06-03T18:36:29","guid":{"rendered":"https:\/\/www.logikalsolutions.com\/wordpress\/?p=5415"},"modified":"2022-06-04T05:33:31","modified_gmt":"2022-06-04T10:33:31","slug":"csscintilla","status":"publish","type":"post","link":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/","title":{"rendered":"CsScintilla &#8211; CopperSpice Port of Scintilla Now Available"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">There is now a CopperSpice port of Scintilla available on SourceForge: <a href=\"https:\/\/sourceforge.net\/projects\/csscintilla\/\" target=\"_blank\" rel=\"noreferrer noopener\">CsScintilla<\/a>. Currently it is configured to only build for Linux. If you wish to submit a pull request for something to build both the library and the examples natively on Windows, Mac, or other, please feel free. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The only additional restriction the license includes is that you cannot use this library to create an editor\/IDE that uses any kind of plug-in\/add-on support.<\/strong> Just look at Emacs, Atom, VSCode, insert-editor-using-plug-ins-here. Hundreds of plug-ins\/add-ons that do almost the same thing, none of which do it well. Half of the plug-ins conflict with others. Thousands of plug-ins that no longer work at all. A plug-in library littered with landmines that will completely trash your editor installation if you even attempt to install them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No, I didn&#8217;t endure all of the pain creating this and all of the example programs so that you can create something that perpetually inflicts pain on others long after your death. You&#8217;ve got to compile &amp; link your features into your editor\/IDE.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Journey<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Regular readers are well aware of <a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/copperspice-and-diamond\/\" target=\"_blank\" rel=\"noreferrer noopener\">my CopperSpice journey<\/a>. Now that Qt really isn&#8217;t OpenSource anymore (community does not control direction of project and is barred from releasing any LTS version) people are leaving Qt in droves. <a href=\"https:\/\/www.phoronix.com\/scan.php?page=news_item&amp;px=Debian-Needs-Qt6-Maintainers\" target=\"_blank\" rel=\"noreferrer noopener\">Debian doesn&#8217;t even have Qt maintainers anymore<\/a>. They are relying on whatever KDE provides which isn&#8217;t everything. Most Linux distros have dropped KDE and many will be dropping all things Qt in the not-too-distant-future. A good number now no longer install anything using Qt by default I&#8217;m told.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I started hitting performance walls with CopperSpice QPlainTextEdit and the regular expression based syntax highlighting while creating <a href=\"https:\/\/sourceforge.net\/projects\/reddiamond\/\" target=\"_blank\" rel=\"noreferrer noopener\">RedDiamond<\/a> (initially based on <a href=\"https:\/\/www.copperspice.com\/documentation-diamond.html\" target=\"_blank\" rel=\"noreferrer noopener\">CopperSpice Diamond<\/a>.) Having started my career on the DEC platforms I have wanted EDT keypad navigation in a PC editor <em>forever<\/em>. Emacs has  almost passing EDT Keypad Navigation, but it fails by not being able to map NumLock as GOLD unless you hack your terminal definition. That&#8217;s fallout from an age-old feud. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CsScintilla is born<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.scintilla.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Scintilla<\/a> is the reason most PC based texted editors and IDEs exist. You can find a partial list <a href=\"https:\/\/en.wikipedia.org\/wiki\/Scintilla_(software)\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. A better list can be <a href=\"https:\/\/www.scintilla.org\/ScintillaRelated.html\" target=\"_blank\" rel=\"noreferrer noopener\">found here<\/a>. Odds are high one of your favorites is listed. When I started hitting performance problems with source files &gt; 5000 lines reaching for Scintilla was a natural thing. There was already a Qt port of Scintilla. There just wasn&#8217;t a CopperSpice port and the two projects have forked far enough apart to make it a bit of work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you need it, you build it. The Scintilla community was helpful in answering questions but they did not want to add CopperSpice as an officially supported port. Too many still clinging to the dead Qt platform. No problem. CsScintilla is born.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Much Needed Examples<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One of the big problems with the Scintilla project is lack of decent examples. Yes, I&#8217;m sure they were considered decent at one time. Yes, I use Scite from time to time. The problem is the <em>minimal<\/em> examples exploded out into &#8220;expert friendly&#8221; things. There so much extra stuff that someone new to the library simply couldn&#8217;t get started, especially using a different platform or GUI library.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A big chunk of my time was spent creating a series of examples that build upon one another. Yes, there are some much needed enhancements\/extensions for Scintilla in this lib. Yes, they were offered back. CsScintilla appears to be growing into more than just a port.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example1 &#8211; Minimal<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"460\" height=\"642\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-1-minimal.png\" alt=\"\" class=\"wp-image-5419\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-1-minimal.png 460w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-1-minimal-215x300.png 215w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/><figcaption>Example 1 &#8211; Minimal<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">An absolute minimal example. It just puts the widget in a QMainWindow with a simplistic menu to Open\/Save a file. The constructor for MainWindow shows you just how little you really need.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"998\" height=\"428\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-1-core-code.png\" alt=\"\" class=\"wp-image-5420\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-1-core-code.png 998w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-1-core-code-300x129.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-1-core-code-768x329.png 768w\" sizes=\"(max-width: 998px) 100vw, 998px\" \/><figcaption>MainWindow constructor<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Technically, if you don&#8217;t want a menu you don&#8217;t need the createMenus() or the connect() call. I made certain to put a comment in there too.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If someone takes on the task of building CsScintilla for MAC or Windows, Example1 should build and run just fine. It does as little as possible.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example2 &#8211; Tabs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Like I said, baby steps. Example2 just changes Example1 to use tabs instead of a single edit instance.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"455\" height=\"638\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-2-minimal-with-tabs.png\" alt=\"\" class=\"wp-image-5421\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-2-minimal-with-tabs.png 455w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-2-minimal-with-tabs-214x300.png 214w\" sizes=\"(max-width: 455px) 100vw, 455px\" \/><figcaption>Example 2 &#8211; Tabs<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You will notice there is no syntax highlighting. I did turn on line numbering though.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example3 &#8211; EDT Keypad Support<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the first to provide some level of EDT Keypad navigation and command support. It adds a Show Clipboard option so you can see what happens to the Clipboard with various EDT Keypad actions. EDT has separate buffers for:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DEL CHAR &#8211; UNDEL CHAR<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DEL WORD &#8211; UNDEL WORD<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DEL LINE \/ DEL EOL &#8211; UNDEL LINE \/ UNDEL EOL<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The only one that uses the traditional PC OS Clipboard is CUT\/PASTE. Don&#8217;t worry a big help window is included on the Help menu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"629\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-3-minimal-edt-keypad-1024x629.png\" alt=\"\" class=\"wp-image-5422\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-3-minimal-edt-keypad-1024x629.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-3-minimal-edt-keypad-300x184.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-3-minimal-edt-keypad-768x471.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-3-minimal-edt-keypad.png 1207w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>EDT keypad help<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Example4 &#8211; Font and Colors<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"626\" height=\"648\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support.png\" alt=\"\" class=\"wp-image-5423\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support.png 626w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support-290x300.png 290w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><figcaption>Choose font and colors<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This isn&#8217;t syntax highlighting font and color selection. Just letting you set something other than your OS UI default. There is not an example showing syntax highlighting font and color. For that you have to wait for the new <a href=\"https:\/\/sourceforge.net\/projects\/reddiamond\/\" target=\"_blank\" rel=\"noreferrer noopener\">RedDiamond<\/a> release. (It&#8217;s close, just a couple of nit-pick things.) For people who care nothing about syntax highlighting (yes, they exist) and don&#8217;t need an editor to print, Example4 may be more than enough. It has more capabilities than <a href=\"https:\/\/en.wikipedia.org\/wiki\/Leafpad\" target=\"_blank\" rel=\"noreferrer noopener\">LeafPad<\/a> but doesn&#8217;t go overboard. LeafPad was included with just about every Linux distro until the version of GTK it used was no longer supported. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As more an more Linux distros drop Qt some flavor of Example4 may well become the &#8220;minimal&#8221; editor. Well, unless they go whole hog and included RedDiamond as the default editor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example5 &#8211; Show KeyMap<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Example5 really exists simply to show one of the major improvements CsScintilla made over base Scintilla. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"805\" height=\"640\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-5-keymap.png\" alt=\"\" class=\"wp-image-5424\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-5-keymap.png 805w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-5-keymap-300x239.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-5-keymap-768x611.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><figcaption>Generates the keymap text<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It generates the keymap text. The Scintilla editor widget has a bunch of built in functions mapped to various keystrokes. For years everyone wanted a &#8220;list&#8221; function and for years everyone had to roll their own. There are several format flavors one can choose when using the function from within CsScintilla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> This example doesn&#8217;t go to the level of allowing the user to change keymap for a specific function. Believe it or not, getting a list of all the current key mappings and text of the function associated with them was the hard part. There already was a function to actually map keystrokes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">We need to talk about &#8220;minimal&#8221;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">LeafPad and many other editors of that era have gone away or are going away. Many of them handled only ASCII. For us English users that was great! You could select text from a word processing document, Web page, whatever, and when you pasted into the &#8220;minimal&#8221; editor you only got the text. You didn&#8217;t get all of those bizarre unseen formatting characters that could jack things like a compiler up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today &#8220;minimal&#8221; tends to mean at least UTF-8 if not UTF-32 support. You have to now filter stuff out with your paste function.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"207\" height=\"109\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/paste-special.png\" alt=\"\" class=\"wp-image-5426\"\/><figcaption>Paste special<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Very few editors do this. The example editors certainly don&#8217;t. You need to be aware of it because Scintilla has UTF support. That means you can accidentally paste in non-visible format information from one source that will hose up your compiler or other software parsing your text file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Another Tweak Worth Mentioning<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CsScintillaEditBase.cpp has the following around line 750 or so.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"261\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-1024x261.png\" alt=\"\" class=\"wp-image-5427\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-1024x261.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-300x76.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-768x196.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte.png 1080w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Difference from Qt version<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The Qt version has this around line 580 or so<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"317\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-qt-1024x317.png\" alt=\"\" class=\"wp-image-5428\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-qt-1024x317.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-qt-300x93.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-qt-768x238.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/one-char-one-byte-qt.png 1073w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Qt version<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">There is no way this works with codeset that exceeds UTF-16. There are a lot of 24-bit and higher Unicode codesets out there. CopperSpice has a QChar32 character type it uses. Yes, this wastes a lot of space when working with just ASCII. When I started with C programming, 640K was the physical maximum we could have in a desktop computer. The machine I&#8217;m typing this on has 128GB and God only knows how much &#8220;virtual RAM&#8221; in the form of a swap file. A 64-bit processor is going to have to transfer two 32-bit values in a register anyway.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wasting RAM isn&#8217;t the sin it used to be.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is now a CopperSpice port of Scintilla available on SourceForge: CsScintilla. Currently it is configured to only build for Linux. If you wish to submit a pull request for something to build both the library and the examples natively on Windows, Mac, or other, please feel free. The only additional restriction the license includes is that you cannot use this library to create an editor\/IDE that uses any kind of plug-in\/add-on support. Just look &hellip; <a title=\"CsScintilla &#8211; CopperSpice Port of Scintilla Now Available\" class=\"bnm-read-more\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/\"><span class=\"screen-reader-text\">CsScintilla &#8211; CopperSpice Port of Scintilla Now Available<\/span>Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":5423,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5415","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","bnm-entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CsScintilla - CopperSpice Port of Scintilla Now Available &#8211; Logikal Blog<\/title>\n<meta name=\"description\" content=\"There is now a CopperSpice port of Scintilla available on SourceForge: CsScintilla. Currently it is configured to only build for Linux.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CsScintilla - CopperSpice Port of Scintilla Now Available &#8211; Logikal Blog\" \/>\n<meta property=\"og:description\" content=\"There is now a CopperSpice port of Scintilla available on SourceForge: CsScintilla. Currently it is configured to only build for Linux.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/\" \/>\n<meta property=\"og:site_name\" content=\"Logikal Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-03T18:36:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-04T10:33:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support.png\" \/>\n\t<meta property=\"og:image:width\" content=\"626\" \/>\n\t<meta property=\"og:image:height\" content=\"648\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"seasoned_geek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"seasoned_geek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/\"},\"author\":{\"name\":\"seasoned_geek\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"headline\":\"CsScintilla &#8211; CopperSpice Port of Scintilla Now Available\",\"datePublished\":\"2022-06-03T18:36:29+00:00\",\"dateModified\":\"2022-06-04T10:33:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/\"},\"wordCount\":1395,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/example-4-basic-color-support.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/\",\"name\":\"CsScintilla - CopperSpice Port of Scintilla Now Available &#8211; Logikal Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/example-4-basic-color-support.png\",\"datePublished\":\"2022-06-03T18:36:29+00:00\",\"dateModified\":\"2022-06-04T10:33:31+00:00\",\"description\":\"There is now a CopperSpice port of Scintilla available on SourceForge: CsScintilla. Currently it is configured to only build for Linux.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/example-4-basic-color-support.png\",\"contentUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/example-4-basic-color-support.png\",\"width\":626,\"height\":648},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/uncategorized\\\/csscintilla\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CsScintilla &#8211; CopperSpice Port of Scintilla Now Available\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\",\"name\":\"Logikal Blog\",\"description\":\"For people with attention spans longer than a Tweet\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\",\"name\":\"seasoned_geek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"caption\":\"seasoned_geek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\"},\"description\":\"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\\\/Qt touchscreen\\\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \\\"Zinc It!\\\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \\\"The Minimum You Need to Know to Be an OpenVMS Application Developer\\\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \\\"The Minimum You Need to Know\\\" book series was born. Three years later he wrote his first novel \\\"Infinite Exposure\\\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \\\"The Earth That Was\\\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.\",\"sameAs\":[\"https:\\\/\\\/theminimumyouneedtoknow.com\"],\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/author\\\/seasoned_geek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CsScintilla - CopperSpice Port of Scintilla Now Available &#8211; Logikal Blog","description":"There is now a CopperSpice port of Scintilla available on SourceForge: CsScintilla. Currently it is configured to only build for Linux.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/","og_locale":"en_US","og_type":"article","og_title":"CsScintilla - CopperSpice Port of Scintilla Now Available &#8211; Logikal Blog","og_description":"There is now a CopperSpice port of Scintilla available on SourceForge: CsScintilla. Currently it is configured to only build for Linux.","og_url":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/","og_site_name":"Logikal Blog","article_published_time":"2022-06-03T18:36:29+00:00","article_modified_time":"2022-06-04T10:33:31+00:00","og_image":[{"width":626,"height":648,"url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support.png","type":"image\/png"}],"author":"seasoned_geek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"seasoned_geek","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/#article","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/"},"author":{"name":"seasoned_geek","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"headline":"CsScintilla &#8211; CopperSpice Port of Scintilla Now Available","datePublished":"2022-06-03T18:36:29+00:00","dateModified":"2022-06-04T10:33:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/"},"wordCount":1395,"commentCount":0,"publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/","url":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/","name":"CsScintilla - CopperSpice Port of Scintilla Now Available &#8211; Logikal Blog","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/#primaryimage"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support.png","datePublished":"2022-06-03T18:36:29+00:00","dateModified":"2022-06-04T10:33:31+00:00","description":"There is now a CopperSpice port of Scintilla available on SourceForge: CsScintilla. Currently it is configured to only build for Linux.","breadcrumb":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/#primaryimage","url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support.png","contentUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/06\/example-4-basic-color-support.png","width":626,"height":648},{"@type":"BreadcrumbList","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/csscintilla\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.logikalsolutions.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"CsScintilla &#8211; CopperSpice Port of Scintilla Now Available"}]},{"@type":"WebSite","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website","url":"https:\/\/www.logikalsolutions.com\/wordpress\/","name":"Logikal Blog","description":"For people with attention spans longer than a Tweet","publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.logikalsolutions.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842","name":"seasoned_geek","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","url":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","caption":"seasoned_geek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r"},"description":"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\/Qt touchscreen\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \"Zinc It!\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \"The Minimum You Need to Know to Be an OpenVMS Application Developer\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \"The Minimum You Need to Know\" book series was born. Three years later he wrote his first novel \"Infinite Exposure\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \"The Earth That Was\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.","sameAs":["https:\/\/theminimumyouneedtoknow.com"],"url":"https:\/\/www.logikalsolutions.com\/wordpress\/author\/seasoned_geek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/5415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/comments?post=5415"}],"version-history":[{"count":0,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/5415\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media\/5423"}],"wp:attachment":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media?parent=5415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/categories?post=5415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/tags?post=5415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}