Exotic Unicode

General questions regarding the usage of CodeLite
nicks
CodeLite Curious
Posts: 7
Joined: Thu Oct 28, 2021 3:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Exotic Unicode

Post by nicks »

If I paste this unicode character "🍌" into CodeLite's editor, it appears as "xFFx8Dx8c". This might not be a problem in itself, but when I load a file with similar exotic unicode characters into CodeLite, modify the file and then save it, the encoding of these characters gets changed - and that is a huge problem for me! I have selected "Utf-8" encoding in Settings-Preferences but this does not help. I don't think this is a wxWidgets issue, as I can paste "🍌" into other wxWidgets applications (eg CodeBlocks and Audacity) without problem.

I've spent several hours trying to fix this or find a workaround, to no avail. Would appreciate any help.

Am using CodeLite 14.0.0.

User avatar
eranif
CodeLite Plugin
Posts: 6367
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Exotic Unicode

Post by eranif »

I dont see any problem here, using CodeLite 17

exotic.png
You do not have the required permissions to view the files attached to this post.
Make sure you have read the HOW TO POST thread
nicks
CodeLite Curious
Posts: 7
Joined: Thu Oct 28, 2021 3:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Exotic Unicode

Post by nicks »

Many thanks for prompt reply. I've cloned the latest codelite from git but cannot build. I know I'm going off topic now, but do you have any idea what would cause:

[ 22%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clBitset.cpp.o
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp: In static member function ‘static bool clBitmap::ShouldLoadHiResImages()’:
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp:64:9: error: ‘GdkScreen’ was not declared in this scope
64 | GdkScreen* screen = gdk_screen_get_default();
| ~~~~~
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp:64:20: error: ‘screen’ was not declared in this scope; did you mean ‘strlen’?
64 | GdkScreen* screen = gdk_screen_get_default();
| ~~
| strlen
[ 22%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clCommandProcessor.cpp.o
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp:64:29: error: ‘gdk_screen_get_default’ was not declared in this scope
64 | GdkScreen* screen = gdk_screen_get_default();
| ~~~~~~~~~~~~~~~~~~
[ 22%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clConcurrent.cpp.o
[ 23%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clConsoleAlacritty.cpp.o
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp:66:26: error: ‘gdk_screen_get_resolution’ was not declared in this scope
66 | double res = gdk_screen_get_resolution(screen);
| ~~~~~~~~~~~~~~~~~~~~~
[ 23%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clConsoleBase.cpp.o

DavidGH
CodeLite Plugin
Posts: 819
Joined: Wed Sep 03, 2008 7:26 pm
Contact:

Re: Exotic Unicode

Post by DavidGH »

Hi,

Which distro/version? And' in view of this wxForum post, which gtk+ version?

Regards,

David

nicks
CodeLite Curious
Posts: 7
Joined: Thu Oct 28, 2021 3:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Exotic Unicode

Post by nicks »

Hi David,

My distro is Linux Mint 21.1 Xfce v4.16. 64 bit.

uname -a -> Linux NJS1 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

I'm using Gtk3
locate gtk+-3 -> /usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-3.0.pc

My cmake command was
PATH=/opt/wxWidgets-git/wxWidgets/install-gtk-debug-static/bin/:$PATH cmake -DCMAKE_BUILD_TYPE=Release .. -DCOPY_WX_LIBS=1
and the relevant lines of output were:
-- wxWidgets version is: 3.3.0
-- gtk version is: 3
...
-- Found gtk+-3.0, version 3.24.33
...
-- Found GTK3: /usr/lib/x86_64-linux-gnu/libgtk-3.so
-- Found wxWidgets: -L/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib;-pthread;;;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_aui-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_propgrid-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_xrc-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_baseu_net-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_stc-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_ribbon-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_richtext-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_html-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_core-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_baseu_xml-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_baseu-3.3.a;-lgthread-2.0;-pthread;-lX11;-lSM;-lgtk-3;-lgdk-3;-lpangocairo-1.0;-latk-1.0;-lcairo-gobject;-lcairo;-lgdk_pixbuf-2.0;-lgio-2.0;-lXtst;-lpangoft2-1.0;-lpango-1.0;-lgobject-2.0;-lglib-2.0;-lharfbuzz;-lfontconfig;-lfreetype;-lwxscintilla-3.3;-lexpat;-lpcre2-32;-lpng;-ljpeg;-ltiff;-ljbig;-lz;-lm (found version "3.3.0")

I would appreciate any help. I spend some time searching the web for clues but got nowhere.

Kind Regards
Nick

DavidGH
CodeLite Plugin
Posts: 819
Joined: Wed Sep 03, 2008 7:26 pm
Contact:

Re: Exotic Unicode

Post by DavidGH »

PATH=/opt/wxWidgets-git/wxWidgets/install-gtk-debug-static/bin/

So a static-build of wxWidgets? That's the first place to look, then.

Static-built wx is normal for wxMSW but rarely used or tested on Linux. I suggest you create a standard dynamic-build (or use our wx3.2.0 one). I'd be surprised if that didn't solve the problem.

nicks
CodeLite Curious
Posts: 7
Joined: Thu Oct 28, 2021 3:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Exotic Unicode

Post by nicks »

Hi David,
Many thanks for the help.
As you suggested, I built a dynamic version of wxWidgets (v3.2.1) and linked to that. The build of codelite completed successfully. After "sudo make install" I did "codelite --version" at the command line and got "CodeLite IDE v17.1.0". However, when I attempt to run codelite, it shows its ide but then immediately crashes and displays the "Codelite crash handler" dialog. Clicking "Yes" on this dialog, starts gdb but I just get: "Could not attach to process.". I have studied the core dump but that has not helped. There dont seem to be any useful log messages.
"ldd codelite" looked ok; although I'm not sure if my knowledge is sufficient to spot any errors there.
The wxWidget samples build and run OK so my wxWidget build seems ok.
I really have no clue how to proceed and wondered if you might have any idea?
Many thanks
Nick

User avatar
eranif
CodeLite Plugin
Posts: 6367
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Exotic Unicode

Post by eranif »

Try building CodeLite and install it locally (without sudo )

Code: Select all

 cd codelite
 mkdir build-release
 cd build-release
 cmake -DCMAKE_BUILD_TYPE=Release .. -DCOPY_WX_LIBS=1 -DCMAKE_INSTALL_PREFIX=$HOME/root
 make -j$(nproc)
make install

To run CodeLite:

Code: Select all

$HOME/root/bin/codelite
Make sure you have read the HOW TO POST thread
nicks
CodeLite Curious
Posts: 7
Joined: Thu Oct 28, 2021 3:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: Exotic Unicode

Post by nicks »

Many thanks. Yes, that worked. I'm now running v17.1.0.

I don't want to take up too much more of your time, but I do have a couple of queries.

In v14.0.0 there is a "Perspective" menu. This seems to have gone in v17.1.0 and "Find Anything" does not find it. v17.1 has a "Restore Layout" command, but the "Save Current Layout As..." is missing. Having said that, I never managed to get good results from using "Save Current Layout" .. Restoring default layout deletes saved layouts ... I am wondering if that is why it has been removed.

The reason I try to use these layout commands is because of a problem I experience when detaching tabs from the Debugger View. If I detach the "CallStack" or "Watch" tabs, they always immediately move to the far left of the ide frame. They cannot be moved away from there. There have also been times when I have completely "lost" the "Watches" tab. The only way I have found of retrieving it is via "Restore Layout". That is why I have found the "Perspective" menu so useful. By the way, I can successfully detach and move tabs as desired from the Workspace view - the problem seems to be only with the "Debugger View".

Post Reply