geany / geany

A fast and lightweight IDE
https://www.geany.org
GNU General Public License v2.0
3.15k stars 608 forks source link

display problem with mono font: alphabet and chinese #3111

Open creatxrgithub opened 2 years ago

creatxrgithub commented 2 years ago

i wish that width of two alphabets equal width of one chinese. so, i customized font. it displays correct in libreoffice, but has problem with geany. i 've used fontforge to check that all the alphabets's outline is in its area (horiz-adv-x='1024'), chinese 's width is 2048 (horiz-adv-x='2048').

that's the two pictures

Screenshot_geany Screenshot_libreoffice

elextr commented 2 years ago

Please always post the top few lines of Help->Debug Messages that show versions of Geany, GTK and Glib libraries and possibly your system.

creatxrgithub commented 2 years ago

ubuntu 20.04

23:04:15: Geany INFO : Geany 1.36, en_US.UTF-8 23:04:15: Geany INFO : GTK 3.24.20, GLib 2.64.6 23:04:15: Geany INFO : System data dir: /usr/share/geany 23:04:15: Geany INFO : User config dir: /home/creatxr/.config/geany 23:04:15: GLib-GIO DEBUG : _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’ 23:04:15: fcitx-connection DEBUG : _fcitx_connection_create_ic 23:04:15: Geany INFO : Loaded GTK+ CSS theme '/usr/share/geany/geany.css' 23:04:15: Geany INFO : Loaded GTK+ CSS theme '/usr/share/geany/geany-3.20.css' 23:04:15: Geany INFO : System plugin path: /usr/lib/x86_64-linux-gnu/geany 23:04:15: Geany INFO : Added filetype Arduino (61). 23:04:15: Geany INFO : Added filetype CUDA (62). 23:04:15: Geany INFO : Added filetype Clojure (63). 23:04:15: Geany INFO : Added filetype Cython (64). 23:04:15: Geany INFO : Added filetype Genie (65). 23:04:15: Geany INFO : Added filetype Graphviz (66). 23:04:15: Geany INFO : Added filetype Groovy (67). 23:04:15: Geany INFO : Added filetype JSON (68). 23:04:15: Geany INFO : Added filetype Kotlin (69). 23:04:15: Geany INFO : Added filetype Nim (70). 23:04:15: Geany INFO : Added filetype Scala (71). 23:04:15: Geany INFO : Added filetype Swift (72). 23:04:15: Geany INFO : Added filetype TypeScript (73). 23:04:15: Geany INFO : Loaded libvte from libvte-2.91.so.0 23:04:15: Geany INFO : /media/creatxr/WORK/CREATXR-UTILs/nodejs/repos/tiny-youtube-downloader/index.js : Javascript (UTF-8) 23:04:16: Geany INFO : /media/creatxr/DATAL/RESUME/銀密差異.txt : None (UTF-8) 23:04:16: Geany INFO : /media/creatxr/WORK/TXT/字符檢測 : None (UTF-8)

elextr commented 2 years ago

Geany 1.36 is fairly old, and uses an old version of Scintilla, the editing widget that does the displaying. There have been only minor changes in the version of Scintilla used up to Geany 1.38, the latest release. However there have been significant changes in the current Git version. Since you have a customised setup you will need to test it yourself since nobody else has your setup. If you can build from git you could test to see if the problem is fixed, or try it in Scite (also using Scintilla). You will need version 5.1.6 to get the same Scintilla version used by Geany git.

creatxrgithub commented 2 years ago

i've 11gb free space, but i got the errors below:

make all-recursive make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38' Making all in ctags make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/ctags' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/ctags' Making all in scintilla make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla' Making all in include make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla/include' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla/include' make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla' CXX lexlib/LexerSimple.lo CXX lexlib/PropSetSimple.lo mv: cannot move 'lexlib/PropSetSimple.loT' to 'lexlib/PropSetSimple.lo': No space left on device CXX lexlib/StyleContext.lo CXX lexlib/WordList.lo CXX src/AutoComplete.lo CXX src/CallTip.lo CXX src/CaseConvert.lo CXX src/CaseFolder.lo CXX src/Catalogue.lo CXX src/CellBuffer.lo CXX src/CharClassify.lo CXX src/ContractionState.lo CXX src/DBCS.lo mv: cannot move 'src/.deps/DBCS.Tpo' to 'src/.deps/DBCS.Plo': No space left on device make[3]: [Makefile:1057: src/DBCS.lo] Error 1 make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla' make[2]: [Makefile:1081: all-recursive] Error 1 make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla' make[1]: [Makefile:600: all-recursive] Error 1 make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38' make: [Makefile:484: all] Error 2

elextr commented 2 years ago

How big is the /media partition?

Davidy22 commented 2 years ago

As someone who does have shiny new Geany installed, I used the Sarasa mono font which normally works for cjk and can confirm scintilla hasn't caught up on this in the time between geany 1.36 and now

Screenshot from 2022-01-25 09-27-21

elextr commented 2 years ago

can confirm scintilla hasn't caught up on this

How? Did you test it in Scite? Is that what the screenshot is from?

If so please report the problem direct to Scintilla assuming it hasn't already been reported. Since you understand what is expected and what is the issue and can reproduce it in Scite there is no point in Geany being between you and the Scintilla maintainer.

Davidy22 commented 2 years ago

Oh, I tested in geany, screenshot's from the last geany build I did which is pretty recent on geany git which I presume has very up to date scintilla. Went to check this in scite real quick, but I can't confirm that this happens there because it somehow fails to render chinese at all even with a cjk font:

Screenshot from 2022-01-25 09-53-53

EDIT: Nevermind, found an encoding option in scite, can confirm this happens there

Screenshot from 2022-01-25 09-57-31

elextr commented 2 years ago

Saw your edit, so yeah best to go direct to Scintilla, please post a link to the Scintilla bug report here.

Davidy22 commented 2 years ago

On further testing the advertising on the font I downloaded was a lie, it's not monospaced between languages in libreoffice either, might need a copy of submitter's custom font to test

elextr commented 2 years ago

@Davidy22 well, technically single width western and double width CJK is hardly "monospaced"! :smile:

Also I thought there were CJK 1.5 wide characters but I am no expert, and what are the rules for inter-character spacing for CJK placed horizontally (for example see Problems to solve section in this blog )?

Davidy22 commented 2 years ago

Pretty sure at least the chinese part of CJK is constant width. I wasn't aware of any kerning that's ever done in a chinese font, letter spacing in double width monospaced characters I'd assume is just double the spacing of the single width ones. Letter spacing probably isn't the cuprit anyways because the first characters are also the wrong width. I can't actually find a monospaced font that works in libreoffice for my two line test case so I'm going to need the custom font from the original poster, also this feels like a problem that all the monospace font makers need to solve

elextr commented 2 years ago

also this feels like a problem that all the monospace font makers need to solve

Maybe thats why there are none, although Noto Sans claims mono, so if Google and Adobe can't solve it ....

It would also be nice to know the CJK code points the OP is using, @Davidy22 can you translate?

Davidy22 commented 2 years ago

Oh, OP is using trad, 半角中文對齊. Noto was among the ones I tested and it was one of the worse ones, widths aren't even close

elextr commented 2 years ago

Ok, those line up on Libreoffice using Noto Sans Mono CJK TC 10 point and 12 point and on Geany with the same font and 12 point but not 10 point.

Looks like a rounding difference converting floating point size to integer screen pixels which shows on 10 point. No idea if thats in:

  1. Harfbuff, the low level layout engine used by
  2. Pango, the high level layout engine used by
  3. Scintilla, the editing widget used by
  4. Geany.

so there are lots of moving parts in the process. I don't know which if any of these Libreoffice uses or if its entirely its own.

I am not at a development machine where I can build the latest Scite to see if the problem occurs there too, but I suspect it will.

[Edit: same result on Scite 4.3.0 as git Geany anyway, so most probably would be the same for Scite 5.1.6]

elextr commented 2 years ago

Noto was among the ones I tested and it was one of the worse ones, widths aren't even close

Noto Sans Mono CJK TC? There are millions [slight exaggeration for effect] of Noto fonts.

For example one Noto made a ligature out of ff but Noto Sans Mono CJK TC didn't.

Davidy22 commented 2 years ago

Oh hum, I can confirm that all the mono fonts I installed line up in guake only on font sizes that are a multiple of 6. Well that's probably enough information to send up.

elextr commented 2 years ago

As another reference point, Gedit displays the same behaviour as Geany and Scite, lines up on 12 point not 10 point.

Davidy22 commented 2 years ago

Created issue https://sourceforge.net/p/scintilla/bugs/2310/

elextr commented 2 years ago

Thanks for creating that, I can't access Sourceforge because a password change failed, the forgotten password process does not work and I can't create a new account because the email is in use by the old one, so I have given up on it.

Could you please paste the full font name of Noto Sans Mono CJK TC and the chinese characters to the scintilla report, not just "Noto" so Neil has a better chance of reproducing exactly.

Davidy22 commented 2 years ago

The chinese characters should be functionally the same as any other chinese character but I can drop what we've been testing on there.

elextr commented 2 years ago

Always better to provide an exact simple reproducer.

creatxrgithub commented 2 years ago

How big is the /media partition?

i don't know what happened. now i free 6gb more (in thunar status bar shows "free space 17.5gb" now) it seems compile success. but i don't find where is "geany" . when i start it from menu, it's still ver 1.36.

./configure

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for ar... ar
checking the archiver (ar) interface... ar
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for gcc option to accept ISO C99... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether the C++ compiler works... yes
checking whether g++ supports C++17 features by default... no
checking whether g++ supports C++17 features with -std=gnu++17... yes
checking whether ln -s works... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking glob.h usability... yes
checking glob.h presence... yes
checking for glob.h... yes
checking for stdlib.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking fnmatch.h usability... yes
checking fnmatch.h presence... yes
checking for fnmatch.h... yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking sys/dir.h usability... yes
checking sys/dir.h presence... yes
checking for sys/dir.h... yes
checking for size_t... yes
checking for regcomp... yes
checking for fnmatch... yes
checking for off_t... yes
checking for size_t... (cached) yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for realpath... yes
checking for strerror... yes
checking for strstr... yes
checking for asprintf... yes
checking for mkstemp... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for truncate... yes
checking whether __environ is declared... yes
checking whether _NSGetEnviron is declared... no
checking for Git revision... none
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GTK... yes
checking for GTHREAD... yes
checking whether binary relocation support should be enabled... no
checking for library containing connect... none required
checking whether the force is with you... no
checking whether NLS is requested... yes
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.30.0
checking for XML::Parser... ok
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for catalogs to be installed...  ar ast be bg ca cs da de el en_GB es et eu fa fi fr gl he hi hu id ie it ja kk ko ku lb lt lv mn nl nn pl pt pt_BR ro ru sk sl sr sv tr uk vi zh_CN zh_TW
checking for rst2html... no
checking for rst2html.py... no
checking for rst2pdf... no
checking for rst2pdf.py... no
checking for doxygen... no
checking for a Python interpreter with version >= 2.7... python
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/dist-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/dist-packages
checking for python lxml package... yes
checking whether compiler supports GCC4-style visibility... yes
checking for sort... /usr/bin/sort
checking for uniq... /usr/bin/uniq
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating icons/Makefile
config.status: creating icons/16x16/Makefile
config.status: creating icons/24x24/Makefile
config.status: creating icons/32x32/Makefile
config.status: creating icons/48x48/Makefile
config.status: creating icons/scalable/Makefile
config.status: creating icons/tango/Makefile
config.status: creating icons/tango/16x16/Makefile
config.status: creating icons/tango/24x24/Makefile
config.status: creating icons/tango/32x32/Makefile
config.status: creating icons/tango/48x48/Makefile
config.status: creating icons/tango/scalable/Makefile
config.status: creating ctags/Makefile
config.status: creating scintilla/Makefile
config.status: creating scintilla/include/Makefile
config.status: creating src/Makefile
config.status: creating src/tagmanager/Makefile
config.status: creating plugins/Makefile
config.status: creating po/Makefile.in
config.status: creating data/Makefile
config.status: creating data/filedefs/filetypes.python
config.status: creating doc/Makefile
config.status: creating doc/geany.1
config.status: creating geany.pc
config.status: creating geany.nsi
config.status: creating doc/Doxyfile
config.status: creating tests/Makefile
config.status: creating tests/ctags/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing po/stamp-it commands
-----------------------------------------------
Install Geany in                   : /usr/local
Using GTK version                  : 3.24.20
Enable binary relocation           : no
Build with plugin support          : yes
Use (UNIX domain) socket support   : yes
Use virtual terminal support (VTE) : yes
Build HTML documentation           : no
Build PDF documentation            : no
Build API documentation            : no
Generate GtkDoc header             : yes

Configuration is done OK.

make

make  all-recursive
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38'
Making all in ctags
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/ctags'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/ctags'
Making all in scintilla
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
Making all in include
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla/include'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
Making all in src
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
Making all in tagmanager
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src/tagmanager'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src/tagmanager'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
  GEN      signallist.i
  CC       libgeany_la-callbacks.lo
  CXXLD    libgeany.la
  CXXLD    geany
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
Making all in plugins
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/plugins'
  CCLD     demoplugin.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     demoproxy.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     classbuilder.la
  CCLD     htmlchars.la
  CCLD     export.la
  CCLD     saveactions.la
  CCLD     filebrowser.la
  CCLD     splitwindow.la
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/plugins'
Making all in icons
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
Making all in 16x16
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/16x16'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/16x16'
Making all in 24x24
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/24x24'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/24x24'
Making all in 32x32
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/32x32'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/32x32'
Making all in 48x48
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/48x48'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/48x48'
Making all in scalable
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/scalable'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/scalable'
Making all in tango
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
Making all in 16x16
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/16x16'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/16x16'
Making all in 24x24
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/24x24'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/24x24'
Making all in 32x32
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/32x32'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/32x32'
Making all in 48x48
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/48x48'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/48x48'
Making all in scalable
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/scalable'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/scalable'
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
Making all in po
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/po'
Making all in doc
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/doc'
Making all in data
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/data'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/data'
Making all in tests
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
Making all in ctags
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests/ctags'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests/ctags'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38'

sudo make install

Making install in ctags
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/ctags'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/ctags'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/ctags'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/ctags'
Making install in scintilla
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
Making install in include
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla/include'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla/include'
make[3]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/include/geany/scintilla/'
 /usr/bin/install -c -m 644 Compat.h SciLexer.h Scintilla.h Scintilla.iface ScintillaWidget.h Sci_Position.h '/usr/local/include/geany/scintilla/'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla/include'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla/include'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/scintilla'
Making install in src
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
Making install in tagmanager
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src/tagmanager'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src/tagmanager'
make[3]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/include/geany/tagmanager'
 /usr/bin/install -c -m 644 tm_source_file.h tm_tag.h tm_workspace.h tm_parser.h '/usr/local/include/geany/tagmanager'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src/tagmanager'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src/tagmanager'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
 /usr/bin/mkdir -p '/usr/local/lib'
 /bin/bash ../libtool --silent   --mode=install /usr/bin/install -c   libgeany.la '/usr/local/lib'
 /usr/bin/mkdir -p '/usr/local/bin'
  /bin/bash ../libtool --silent   --mode=install /usr/bin/install -c geany '/usr/local/bin'
make  install-exec-hook
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
if test "/usr/local/lib" = /usr/local/lib && \
   LANG=C ldd "/usr/local/bin/geany" | grep -q 'libgeany.*not found' \
; then \
    ldconfig "/usr/local/lib"; \
fi
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
 /usr/bin/mkdir -p '/usr/local/include/geany'
 /usr/bin/install -c -m 644 app.h build.h dialogs.h document.h editor.h encodings.h filetypes.h geany.h gtkcompat.h highlighting.h keybindings.h main.h msgwindow.h navqueue.h plugindata.h pluginutils.h prefs.h project.h sciwrappers.h search.h spawn.h stash.h support.h symbols.h templates.h toolbar.h ui_utils.h utils.h '/usr/local/include/geany'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/src'
Making install in plugins
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/plugins'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/plugins'
make[2]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/lib/geany'
 /bin/bash ../libtool --silent   --mode=install /usr/bin/install -c   classbuilder.la htmlchars.la export.la saveactions.la filebrowser.la splitwindow.la '/usr/local/lib/geany'
libtool: warning: relinking 'classbuilder.la'
libtool: warning: relinking 'htmlchars.la'
libtool: warning: relinking 'export.la'
libtool: warning: relinking 'saveactions.la'
libtool: warning: relinking 'filebrowser.la'
libtool: warning: relinking 'splitwindow.la'
 /usr/bin/mkdir -p '/usr/local/include/geany'
 /usr/bin/install -c -m 644 geanyfunctions.h geanyplugin.h '/usr/local/include/geany'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/plugins'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/plugins'
Making install in icons
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
Making install in 16x16
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/16x16'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/16x16'
make[3]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/16x16/actions'
 /usr/bin/install -c -m 644 geany-build.png geany-close-all.png geany-save-all.png '/usr/local/share/icons/hicolor/16x16/actions'
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/16x16/apps'
 /usr/bin/install -c -m 644 classviewer-class.png classviewer-macro.png classviewer-member.png classviewer-method.png classviewer-namespace.png classviewer-other.png classviewer-struct.png classviewer-var.png geany.png '/usr/local/share/icons/hicolor/16x16/apps'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/16x16'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/16x16'
Making install in 24x24
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/24x24'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/24x24'
make[3]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/24x24/actions'
 /usr/bin/install -c -m 644 geany-build.png geany-close-all.png geany-save-all.png '/usr/local/share/icons/hicolor/24x24/actions'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/24x24'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/24x24'
Making install in 32x32
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/32x32'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/32x32'
make[3]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/32x32/actions'
 /usr/bin/install -c -m 644 geany-build.png geany-close-all.png geany-save-all.png '/usr/local/share/icons/hicolor/32x32/actions'
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/32x32/apps'
 /usr/bin/install -c -m 644 geany.png '/usr/local/share/icons/hicolor/32x32/apps'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/32x32'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/32x32'
Making install in 48x48
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/48x48'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/48x48'
make[3]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/48x48/actions'
 /usr/bin/install -c -m 644 geany-build.png geany-close-all.png geany-save-all.png '/usr/local/share/icons/hicolor/48x48/actions'
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/48x48/apps'
 /usr/bin/install -c -m 644 geany.png '/usr/local/share/icons/hicolor/48x48/apps'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/48x48'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/48x48'
Making install in scalable
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/scalable'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/scalable'
make[3]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/scalable/actions'
 /usr/bin/install -c -m 644 geany-build.svg geany-close-all.svg geany-save-all.svg '/usr/local/share/icons/hicolor/scalable/actions'
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/scalable/apps'
 /usr/bin/install -c -m 644 geany.svg '/usr/local/share/icons/hicolor/scalable/apps'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/scalable'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/scalable'
Making install in tango
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
Making install in 16x16
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/16x16'
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/16x16'
make[4]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/Tango/16x16/actions'
 /usr/bin/install -c -m 644 geany-save-all.png '/usr/local/share/icons/Tango/16x16/actions'
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/16x16'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/16x16'
Making install in 24x24
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/24x24'
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/24x24'
make[4]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/Tango/24x24/actions'
 /usr/bin/install -c -m 644 geany-save-all.png '/usr/local/share/icons/Tango/24x24/actions'
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/24x24'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/24x24'
Making install in 32x32
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/32x32'
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/32x32'
make[4]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/Tango/32x32/actions'
 /usr/bin/install -c -m 644 geany-save-all.png '/usr/local/share/icons/Tango/32x32/actions'
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/32x32'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/32x32'
Making install in 48x48
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/48x48'
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/48x48'
make[4]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/Tango/48x48/actions'
 /usr/bin/install -c -m 644 geany-save-all.png '/usr/local/share/icons/Tango/48x48/actions'
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/48x48'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/48x48'
Making install in scalable
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/scalable'
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/scalable'
make[4]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/icons/Tango/scalable/actions'
 /usr/bin/install -c -m 644 geany-save-all.svg '/usr/local/share/icons/Tango/scalable/actions'
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/scalable'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango/scalable'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons/tango'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
make[3]: Nothing to be done for 'install-exec-am'.
make  install-data-hook
make[4]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
Updating Gtk icon cache.
gtk-update-icon-cache: Cache file created successfully.
gtk-update-icon-cache: Cache file created successfully.
make[4]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/icons'
Making install in po
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/po'
linguas="ar ast be bg ca cs da de el en_GB es et eu fa fi fr gl he hi hu id ie it ja kk ko ku lb lt lv mn nl nn pl pt pt_BR ro ru sk sl sr sv tr uk vi zh_CN zh_TW "; \
for lang in $linguas; do \
  dir=/usr/local/share/locale/$lang/LC_MESSAGES; \
  /bin/bash /media/creatxr/WORK/DOWNLOAD/geany-1.38/build-aux/install-sh -d $dir; \
  if test -r $lang.gmo; then \
    /usr/bin/install -c -m 644 $lang.gmo $dir/geany.mo; \
    echo "installing $lang.gmo as $dir/geany.mo"; \
  else \
    /usr/bin/install -c -m 644 ./$lang.gmo $dir/geany.mo; \
    echo "installing ./$lang.gmo as" \
     "$dir/geany.mo"; \
  fi; \
  if test -r $lang.gmo.m; then \
    /usr/bin/install -c -m 644 $lang.gmo.m $dir/geany.mo.m; \
    echo "installing $lang.gmo.m as $dir/geany.mo.m"; \
  else \
    if test -r ./$lang.gmo.m ; then \
      /usr/bin/install -c -m 644 ./$lang.gmo.m \
    $dir/geany.mo.m; \
      echo "installing ./$lang.gmo.m as" \
       "$dir/geany.mo.m"; \
    else \
      true; \
    fi; \
  fi; \
done
installing ar.gmo as /usr/local/share/locale/ar/LC_MESSAGES/geany.mo
installing ast.gmo as /usr/local/share/locale/ast/LC_MESSAGES/geany.mo
installing be.gmo as /usr/local/share/locale/be/LC_MESSAGES/geany.mo
installing bg.gmo as /usr/local/share/locale/bg/LC_MESSAGES/geany.mo
installing ca.gmo as /usr/local/share/locale/ca/LC_MESSAGES/geany.mo
installing cs.gmo as /usr/local/share/locale/cs/LC_MESSAGES/geany.mo
installing da.gmo as /usr/local/share/locale/da/LC_MESSAGES/geany.mo
installing de.gmo as /usr/local/share/locale/de/LC_MESSAGES/geany.mo
installing el.gmo as /usr/local/share/locale/el/LC_MESSAGES/geany.mo
installing en_GB.gmo as /usr/local/share/locale/en_GB/LC_MESSAGES/geany.mo
installing es.gmo as /usr/local/share/locale/es/LC_MESSAGES/geany.mo
installing et.gmo as /usr/local/share/locale/et/LC_MESSAGES/geany.mo
installing eu.gmo as /usr/local/share/locale/eu/LC_MESSAGES/geany.mo
installing fa.gmo as /usr/local/share/locale/fa/LC_MESSAGES/geany.mo
installing fi.gmo as /usr/local/share/locale/fi/LC_MESSAGES/geany.mo
installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/geany.mo
installing gl.gmo as /usr/local/share/locale/gl/LC_MESSAGES/geany.mo
installing he.gmo as /usr/local/share/locale/he/LC_MESSAGES/geany.mo
installing hi.gmo as /usr/local/share/locale/hi/LC_MESSAGES/geany.mo
installing hu.gmo as /usr/local/share/locale/hu/LC_MESSAGES/geany.mo
installing id.gmo as /usr/local/share/locale/id/LC_MESSAGES/geany.mo
installing ie.gmo as /usr/local/share/locale/ie/LC_MESSAGES/geany.mo
installing it.gmo as /usr/local/share/locale/it/LC_MESSAGES/geany.mo
installing ja.gmo as /usr/local/share/locale/ja/LC_MESSAGES/geany.mo
installing kk.gmo as /usr/local/share/locale/kk/LC_MESSAGES/geany.mo
installing ko.gmo as /usr/local/share/locale/ko/LC_MESSAGES/geany.mo
installing ku.gmo as /usr/local/share/locale/ku/LC_MESSAGES/geany.mo
installing lb.gmo as /usr/local/share/locale/lb/LC_MESSAGES/geany.mo
installing lt.gmo as /usr/local/share/locale/lt/LC_MESSAGES/geany.mo
installing lv.gmo as /usr/local/share/locale/lv/LC_MESSAGES/geany.mo
installing mn.gmo as /usr/local/share/locale/mn/LC_MESSAGES/geany.mo
installing nl.gmo as /usr/local/share/locale/nl/LC_MESSAGES/geany.mo
installing nn.gmo as /usr/local/share/locale/nn/LC_MESSAGES/geany.mo
installing pl.gmo as /usr/local/share/locale/pl/LC_MESSAGES/geany.mo
installing pt.gmo as /usr/local/share/locale/pt/LC_MESSAGES/geany.mo
installing pt_BR.gmo as /usr/local/share/locale/pt_BR/LC_MESSAGES/geany.mo
installing ro.gmo as /usr/local/share/locale/ro/LC_MESSAGES/geany.mo
installing ru.gmo as /usr/local/share/locale/ru/LC_MESSAGES/geany.mo
installing sk.gmo as /usr/local/share/locale/sk/LC_MESSAGES/geany.mo
installing sl.gmo as /usr/local/share/locale/sl/LC_MESSAGES/geany.mo
installing sr.gmo as /usr/local/share/locale/sr/LC_MESSAGES/geany.mo
installing sv.gmo as /usr/local/share/locale/sv/LC_MESSAGES/geany.mo
installing tr.gmo as /usr/local/share/locale/tr/LC_MESSAGES/geany.mo
installing uk.gmo as /usr/local/share/locale/uk/LC_MESSAGES/geany.mo
installing vi.gmo as /usr/local/share/locale/vi/LC_MESSAGES/geany.mo
installing zh_CN.gmo as /usr/local/share/locale/zh_CN/LC_MESSAGES/geany.mo
installing zh_TW.gmo as /usr/local/share/locale/zh_TW/LC_MESSAGES/geany.mo
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/po'
Making install in doc
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/doc'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/doc'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/bash /media/creatxr/WORK/DOWNLOAD/geany-1.38/build-aux/install-sh -d /usr/local/share/doc/geany/html
dir=.; test -f "$dir/geany.html" || dir=.; \
/usr/bin/install -c -m 644 "$dir/geany.html" /usr/local/share/doc/geany/html/index.html
/bin/bash /media/creatxr/WORK/DOWNLOAD/geany-1.38/build-aux/install-sh -d /usr/local/share/doc/geany
/usr/bin/install -c -m 644 ./geany.txt /usr/local/share/doc/geany/manual.txt
/usr/bin/install -c -m 644 ../scintilla/License.txt /usr/local/share/doc/geany/ScintillaLicense.txt
 /usr/bin/mkdir -p '/usr/local/share/doc/geany/html/images'
 /usr/bin/install -c -m 644 images/build_menu_commands_dialog.png images/find_dialog.png images/find_in_files_dialog.png images/main_window.png images/pref_dialog_edit_completions.png images/pref_dialog_edit_display.png images/pref_dialog_edit_features.png images/pref_dialog_edit_indentation.png images/pref_dialog_files.png images/pref_dialog_gen_misc.png images/pref_dialog_gen_startup.png images/pref_dialog_interface_interface.png images/pref_dialog_interface_notebook.png images/pref_dialog_interface_toolbar.png images/pref_dialog_keys.png images/pref_dialog_printing.png images/pref_dialog_templ.png images/pref_dialog_tools.png images/pref_dialog_various.png images/pref_dialog_vte.png images/replace_dialog.png '/usr/local/share/doc/geany/html/images'
 /usr/bin/mkdir -p '/usr/local/share/doc/geany'
 /usr/bin/install -c -m 644 ../AUTHORS ../ChangeLog ../COPYING ../NEWS ../README ../THANKS ../TODO '/usr/local/share/doc/geany'
 /usr/bin/mkdir -p '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 geany.1 '/usr/local/share/man/man1'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/doc'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/doc'
Making install in data
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/data'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/data'
make[2]: Nothing to be done for 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/local/share/geany'
 /usr/bin/mkdir -p '/usr/local/share/geany/filedefs'
 /usr/bin/install -c -m 644  filedefs/filetypes.abaqus filedefs/filetypes.abc filedefs/filetypes.actionscript filedefs/filetypes.ada filedefs/filetypes.Arduino.conf filedefs/filetypes.asciidoc filedefs/filetypes.asm filedefs/filetypes.batch filedefs/filetypes.bibtex filedefs/filetypes.c filedefs/filetypes.caml filedefs/filetypes.Clojure.conf filedefs/filetypes.cmake filedefs/filetypes.cobol filedefs/filetypes.coffeescript filedefs/filetypes.common filedefs/filetypes.conf filedefs/filetypes.cpp filedefs/filetypes.cs filedefs/filetypes.css filedefs/filetypes.CUDA.conf filedefs/filetypes.Cython.conf filedefs/filetypes.d filedefs/filetypes.diff filedefs/filetypes.docbook filedefs/filetypes.erlang filedefs/filetypes.f77 filedefs/filetypes.ferite filedefs/filetypes.forth filedefs/filetypes.fortran filedefs/filetypes.freebasic filedefs/filetypes.Genie.conf filedefs/filetypes.glsl filedefs/filetypes.go filedefs/filetypes.Graphviz.conf filedefs/filetypes.Groovy.conf filedefs/filetypes.haskell filedefs/filetypes.haxe filedefs/filetypes.html filedefs/filetypes.java '/usr/local/share/geany/filedefs'
 /usr/bin/mkdir -p '/usr/local/share/geany/filedefs'
 /usr/bin/install -c -m 644  filedefs/filetypes.javascript filedefs/filetypes.julia filedefs/filetypes.JSON.conf filedefs/filetypes.latex filedefs/filetypes.lisp filedefs/filetypes.lua filedefs/filetypes.Kotlin.conf filedefs/filetypes.makefile filedefs/filetypes.markdown filedefs/filetypes.matlab filedefs/filetypes.Meson.conf filedefs/filetypes.Nim.conf filedefs/filetypes.nsis filedefs/filetypes.objectivec filedefs/filetypes.pascal filedefs/filetypes.perl filedefs/filetypes.php filedefs/filetypes.po filedefs/filetypes.powershell filedefs/filetypes.r filedefs/filetypes.restructuredtext filedefs/filetypes.ruby filedefs/filetypes.rust filedefs/filetypes.Scala.conf filedefs/filetypes.sh filedefs/filetypes.smalltalk filedefs/filetypes.sql filedefs/filetypes.Swift.conf filedefs/filetypes.TypeScript.conf filedefs/filetypes.tcl filedefs/filetypes.txt2tags filedefs/filetypes.vala filedefs/filetypes.verilog filedefs/filetypes.vhdl filedefs/filetypes.xml filedefs/filetypes.yaml filedefs/filetypes.zephir '/usr/local/share/geany/filedefs'
 /usr/bin/mkdir -p '/usr/local/share/geany/templates/files'
 /usr/bin/install -c -m 644  templates/files/file.html templates/files/file_html5.html templates/files/file.php templates/files/file.rb templates/files/file.tex templates/files/main.c templates/files/main.cxx templates/files/main.d templates/files/main.java templates/files/main.py templates/files/main.vala templates/files/module.erl templates/files/program.pas '/usr/local/share/geany/templates/files'
 /usr/bin/mkdir -p '/usr/local/share/geany/colorschemes'
 /usr/bin/install -c -m 644  colorschemes/alt.conf '/usr/local/share/geany/colorschemes'
 /usr/bin/mkdir -p '/usr/local/share/geany/tags'
 /usr/bin/install -c -m 644  tags/std99.c.tags tags/std.php.tags tags/std.py.tags tags/std.pas.tags tags/entities.html.tags '/usr/local/share/geany/tags'
 /usr/bin/install -c -m 644  filetype_extensions.conf snippets.conf ui_toolbar.xml geany.glade geany-3.0.css geany-3.20.css geany.css '/usr/local/share/geany/.'
 /usr/bin/mkdir -p '/usr/local/share/geany/templates'
 /usr/bin/install -c -m 644  templates/bsd templates/changelog templates/fileheader templates/function templates/gpl '/usr/local/share/geany/templates'
 /usr/bin/mkdir -p '/usr/local/share/geany'
 /usr/bin/mkdir -p '/usr/local/share/geany/filedefs'
 /usr/bin/install -c -m 644  filedefs/filetypes.python '/usr/local/share/geany/filedefs'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/data'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/data'
Making install in tests
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
Making install in ctags
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests/ctags'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests/ctags'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests/ctags'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests/ctags'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
make[3]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38/tests'
make[1]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38'
make[2]: Entering directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/bash /media/creatxr/WORK/DOWNLOAD/geany-1.38/build-aux/install-sh -d /usr/local/share/geany
/usr/bin/install -c -m 644 ./COPYING /usr/local/share/geany/GPL-2
 /usr/bin/mkdir -p '/usr/local/share/applications'
 /usr/bin/install -c -m 644 geany.desktop '/usr/local/share/applications'
 /usr/bin/mkdir -p '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 geany.pc '/usr/local/lib/pkgconfig'
make[2]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38'
make[1]: Leaving directory '/media/creatxr/WORK/DOWNLOAD/geany-1.38'
elextr commented 2 years ago

@creatxrgithub you have to install Geany, it doesn't run from the build directory. But anyway as you might see @Davidy22 has confirmed the issue and raised an issue upstream.

creatxrgithub commented 2 years ago

Geany 1.36 is fairly old, and uses an old version of Scintilla, the editing widget that does the displaying. There have been only minor changes in the version of Scintilla used up to Geany 1.38, the latest release. However there have been significant changes in the current Git version. Since you have a customised setup you will need to test it yourself since nobody else has your setup. If you can build from git you could test to see if the problem is fixed, or try it in Scite (also using Scintilla). You will need version 5.1.6 to get the same Scintilla version used by Geany git.

i use ppa to install geany ver 1.38

it has the same problem. two letter 's width it does not equal one chinese 's width.

i will extract a subset of font later and paste here.

Screenshot_2022-01-25_00-57-14

creatxrgithub commented 2 years ago

i created a subset of font, it only includes "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz半角字母數字全角中文對齊".

that's ttf and svg:

subset.ttf.zip subset.svg.zip

Davidy22 commented 2 years ago

We managed to reproduce your results with sarasa, noto and ubuntu mono. Also my earlier assessment that multiple of 6 font sizes work was hasty, it actually works for font sizes that are a multiple of 3 after tedious testing.

Davidy22 commented 2 years ago

Bug moved further upstream to pango after response from scintilla

Davidy22 commented 2 years ago

Resolution found upstream, this issue should be fixed in the next scintilla merge

elextr commented 2 years ago

Yeah, thats best, really we don't want to be carrying a special patch for such a rare issue.

rdipardo commented 2 years ago

The Scintilla patch addressing this issue has been reported to negatively affect proportional fonts (on Ubuntu, at least): https://groups.google.com/g/scintilla-interest/c/HaWO3ArXB6Y

Davidy22 commented 2 years ago

Doesn't seem to be an actual issue, the attached images both look like fine rendered variable-width characters and I suspect the lower image is actually closer to the original vision of the font designer given the nature of the patch.

creatxrgithub commented 1 year ago

The issue above is under Xubuntu.

I tried Bodhi Linux yesterday, i found that the Geany ver1.38 has not this issue.

"Sulamar" (built on or after Oct 14 2021) Using GTK+ v3.24.33 and GLib v2.72.4 runtime libraries

creatxrgithub commented 1 year ago

The issue above is under Xubuntu.

I tried Bodhi Linux yesterday, i found that the Geany ver1.38 has not this issue.

"Sulamar" (built on or after Oct 14 2021) Using GTK+ v3.24.33 and GLib v2.72.4 runtime libraries

I found that it only display without problem when the font size is multiples of three, e.g. 6, 12, 18, except the tab.

In LibreOffice, it has no problem with any size of the font.

space_tab

Davidy22 commented 1 year ago

The bug has been fixed upstream, and now awaits the next upstream merge of a version containing the fix. 1.38 was released in 2021, as can be seen in the version message you pasted, which predates this issue by quite a bit. Once the merge happens and 1.39 releases you should see the fix arrive in Geany.

elextr commented 1 year ago

Unfortunately I don't think Scintilla has been updated to newer than that patch, there was a PR to do so https://github.com/geany/geany/pull/3292, but the contributor deleted it when it wasn't merged in what they personally considered a reasonable timeframe.

rdipardo commented 1 year ago

there was a PR to do so #3292, but the contributor deleted it

A PR's changes can always be recovered by visiting the "patch" URL, whether or not the branch still exists. Go to the PR on GitHub and add .patch to the address path, or go straight to the actual resource at https://patch-diff.githubusercontent.com/raw/geany/geany/pull/3292.patch

Davidy22 commented 1 year ago

Scintilla's done a good few releases since 2022, probably want to just do it over with the latest anyways if a scintilla merge was happening. Nearly two years since 1.38, probably a hearty chunk of changes from scintilla since then and a good amount of changes on this side accumulated too. Maybe I'll take a shot at it after next scintilla release if I have time.

rdipardo commented 1 year ago

Maybe I'll take a shot at it after next scintilla release if I have time.

There's already an isolated Lexilla upgrade proposed in #3441

A companion update for Scintilla should probably stick to the matching version, 5.3.4 in this case. (The release notes mention Lexilla 5.2.3, but that one was a botch.)

Having the latest and greatest isn't something that end users will notice or appreciate, including the ones who even know what Scintilla is.

elextr commented 1 year ago

Geany 1.38 used the old stable Scintilla 3.x.x that did not need a C++17 compiler (but one of the lexers did so Centos 7 can't be supported as found on recent ML discussion). It was upgraded to 5.1.5 soon after the 1.38 release, but that just missed this change AFAICT so another upgrade is needed.

There are scripts that do some of the leg work, but thats the simple part, there is a lot more.

Upgrading Scintilla may not be too difficult, but the interface to Geany needs to be checked for incompatible changes (eg change in lengths to include/not include the trailing null) and Geany fixed to allow for those, and check that all Lexers work with that Scintilla. Of course the Lexilla/Scintilla interface does not need checking if they are a matching pair.

If Lexilla is upgraded then there is a lot of annoying fiddly manual work to check all the 43 lexers for added or changed lexical entities and mapping those to the names in scintillamapping.h and then adjusting the filetype files to address those changes. Verifying #3441 is whats holding it up AFAIR.