[Lisp-cffi-qt4-list] Unicode
Status: Inactive
Brought to you by:
solopsil
From: Radoslav A. <rsd...@gm...> - 2006-11-07 07:36:07
|
Hi, Paul :) What about Unicode support in lisp-cffi-q4? You see, I'm a Bulgarian student in Germany, and currently I'm learning greek :-D Even for simple notes I need some Unicode support... AFAIK Qt4 has a mature Unicode support. There are CL implementations with good Unicode support. So what could break the flow is either CFFI or lisp-cffi-qt4. I spent a little time trying to understand what about CFFI, but I couldn't, so I decided just to try. What I tried is the following: As I work on Windows, I had to choose CLisp as an implementation, as ECL is still not quite Unicode compliant. I had to use 2.38, because the last one (2.41) had some problems loading "qt.lisp", probably with CFFI ... (On 2.38 lisp-cffi-qt4 works just fine, at least the simple tests.) I tried this (having UTF-8 encoded file utf.txt, containing Bulgarian, German and Greek words on its first line): > (load "asdf") > (load "qt") > > (defpackage qt-user (:use cl qt)) > (in-package qt-user) > > (defvar *unicode-string* nil) > (let ((custom:*default-file-encoding* charset:utf-8)) > (with-open-file (f "utf.txt") > (setf *unicode-string* (read-line f)))) > > (with-qt () > (object lb `(label ,*unicode-string*))) (All CLisp guru's, excuse my ignorance of a better way to write the code above...) And got: > ... > ;; Loaded file > D:\Opt\Lisp\qt\exe\clisp\examples\cffi\src\foreign-vars.fas > 0 errors, 0 warnings > ;; Loaded file D:\Opt\Lisp\qt\exe\clisp\examples\qt.lisp > *** - 1087 cannot be converted to the foreign type FFI:UCHAR > The following restarts are available: > ... Of what I see, I can suppose that (at least CLisp's mplementation of) CFFI doesn't support Unicode. Am I right, or the way lisp-cffi-qt4 uses CFFI is not Unicode compliant? Regards, Rado |