Author Topic: Font is thin and blurry  (Read 8334 times)

Offline SomeGuy

  • Single posting newcomer
  • *
  • Posts: 8
Font is thin and blurry
« on: August 23, 2017, 09:22:41 pm »
Hey,
Got an issue, since I don't like the default code::blocks font I changed it to Hasklig but that's where I ran into a problem. When I select that font it becomes blurry and barely readable, you can see the comparison for yourselves. This is the exact same font with the exact same settings. Curiously enough N++ had the same problem but this https://github.com/notepad-plus-plus/notepad-plus-plus/issues/2287 fixed it. This is on windows 7, 64 bit, Codeblocks 16.01. Forgot to add I already tried reinstalling multiple times.
« Last Edit: August 23, 2017, 09:26:31 pm by SomeGuy »

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Font is thin and blurry
« Reply #1 on: August 24, 2017, 05:23:33 pm »
Quote
curiously enough N++ had the same problem
c::b and n++ use the same editor technology, so it is not surprising that both have the same bug, if the underlying tech has the bug.
Obfuscated is currently working on porting sci to a newer version. He probably is interested in this problem.

Can you open a ticket on SF? Here it probably will get lost...
Also can you compile codeblocks by yourself?
If yes, can you try this branch:
https://github.com/obfuscated/codeblocks_sf/tree/scintilla_3_7_5
and this:
https://github.com/obfuscated/codeblocks_sf/tree/scintilla_3_5_0

Thank you!

[EDIT:] 16.01 is quite old, can you try a nightly build?

Offline SomeGuy

  • Single posting newcomer
  • *
  • Posts: 8
Re: Font is thin and blurry
« Reply #2 on: August 24, 2017, 09:25:31 pm »
Just tried out nightly build, no difference. Gonna try compiling CB versions from those two branches you provided. Tips on how to do it would be appreciated.
« Last Edit: August 24, 2017, 09:34:50 pm by SomeGuy »

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Font is thin and blurry
« Reply #3 on: August 24, 2017, 09:53:57 pm »

Offline SomeGuy

  • Single posting newcomer
  • *
  • Posts: 8
Re: Font is thin and blurry
« Reply #4 on: August 25, 2017, 01:47:52 am »
After a lot of struggle and silly mistakes I've got to the point where I could finally build Code::Blocks with higher scintilla version, sadly after building for a while it just spewed out more errors.
Code
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxscintilla\src\ScintillaWX.cpp: In member function 'bool ScintillaWX::CreateSystemCaret()':
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxscintilla\src\ScintillaWX.cpp:737:27: error: 'sci' was not declared in this scope
     ::ShowCaret(GetHwndOf(sci));
                           ^
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include/wx/msw/private.h:719:42: note: in definition of macro 'GetHwndOf'
 #define GetHwndOf(win)          ((HWND)((win)->GetHWND()))
                                          ^~~
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxscintilla\src\ScintillaWX.cpp: In member function 'bool ScintillaWX::DestroySystemCaret()':
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxscintilla\src\ScintillaWX.cpp:748:31: error: 'sci' was not declared in this scope
         ::HideCaret(GetHwndOf(sci));
                               ^
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include/wx/msw/private.h:719:42: note: in definition of macro 'GetHwndOf'
 #define GetHwndOf(win)          ((HWND)((win)->GetHWND()))

Honestly getting really frustrated with this, I am compiling something so simple, yet there were so many quirks that weren't explained on wiki or didn't make any sense to me.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Font is thin and blurry
« Reply #5 on: August 25, 2017, 07:35:52 pm »
Hi,
sorry about your problems.
Obfuscated is a linux dev and he didn't updated the windows builds and i didn't tried them by my self... Here you can find more information: http://forums.codeblocks.org/index.php/topic,22096.msg150405.html#msg150405
Now i compiled it and made all the fixes from the post above. You can find it here:
https://github.com/bluehazzard/codeblocks_sf/tree/scintilla_3_7_5

Quote
yet there were so many quirks that weren't explained on wiki
can you elaborate more? It would be nice to update the wiki, so other user don't have the problem...

Offline SomeGuy

  • Single posting newcomer
  • *
  • Posts: 8
Re: Font is thin and blurry
« Reply #6 on: August 25, 2017, 09:42:36 pm »
Thanks for the fixes, I'll try compiling it again in a bit. Here are the things that should be improved in wiki IMO:
  • The whole SVN section is a bit confusing, as far as I understood it, it is not required unless you want to download CB build with it or need that additional feature that you get when svn is included in the PATH. I think it needs cleaning up, but I am not sure how it should be fixed since I don't even understand it fully.
  • In configure and build section you're told to include every suggested flag even though they don't apply to every case. Either don't explain them and tell people to include it every single time (if they don't cause any kind of bugs) or add the first two flags mentioned to some sort of troubleshooting section below.
  • Add a troubleshooting section or explain somewhere of what kind of errors you could run into when compiling wxWidgets https://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW, the first "files not found" error ate up a good hour for me. It happens if you have MSYS in your path as well as minGW. I am not sure if I am just this stupid or if the wiki is lacking that.
  • I didn't understand self-hosting part at all, but from what I gathered it is out of place in that guide. Might also be that I am just can't grasp the concept.
  • Also in build wxWidgets part, I'd suggest telling people to change path with GUI (advanced settings, Environment variables) instead of command line, you could also tell them to check for any other toolsets already included so it would not cause previously mentioned error. If it was up to me I'd also add some article that explains what PATH is but that might be a bit overboard and lack of knowledge that was specific only to me.

That's all. Do take this criticism with a grain of salt, I don't have much experience compiling programs.

[Edit]: Managed to compile some more and came across more errors. With help of google I fixed them by including WINVER=0x0601 in project defines list. After compiling some more components I managed to get even more errors, here they are (there were more identical winver warnings but I had to delete them since there is a character limit on posting messages):
Code
||=== Build: tinyXML in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: AutoRevision in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: ConsoleRunner in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: Squirrel in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\scripting\squirrel\sqapi.cpp||In function 'SQRESULT sq_setdelegate(HSQUIRRELVM, SQInteger)':|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\scripting\squirrel\sqapi.cpp|784|warning: this 'if' clause does not guard... [-Wmisleading-indentation]|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\scripting\squirrel\sqapi.cpp|784|note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'|
||=== Build: Squirrel std lib in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: SqPlus in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: scintilla in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
:0|0|warning: "WINVER" redefined|
:0|0|note: this is the location of the previous definition|
||=== Build: wxpropgrid in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\propgrid.cpp||In function 'bool wxPGVariantToWxObjectPtr(const wxVariant&, wxObject**)':|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\propgrid.cpp|9879|warning: this 'if' clause does not guard... [-Wmisleading-indentation]|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\propgrid.cpp|9882|note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\propgrid.cpp||In member function 'wxString wxPropertyGridInterface::SaveEditableState(int) const':|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\propgrid.cpp|11094|warning: this 'if' clause does not guard... [-Wmisleading-indentation]|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\propgrid.cpp|11096|note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\props.cpp||In member function 'virtual wxString wxIntProperty::GetValueAsString(int) const':|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\props.cpp|429|warning: this 'if' clause does not guard... [-Wmisleading-indentation]|
C:\Users\SomeGuy\Desktop\codeblocks_sf-scintilla_3_7_5\src\sdk\wxpropgrid\src\props.cpp|432|note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'|
||=== Build: sdk in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: src in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
C:\Users\SomeGuy\Desktop\CODEBL~1\src\src\RESOUR~1\RESOUR~1.RC|137|warning: #warning Manifest: x86.manifest [-Wcpp]|
||=== Build: Abbreviations in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: AStyle in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: Autosave in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: Compiler depslib in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: Compiler in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: Debugger in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
||=== Build: Code-completion in Code::Blocks wx2.8.x (compiler: GNU GCC Compiler) ===|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h||In member function 'bool ClassRegistrar::Register(const WNDCLASS&)':|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: ambiguous overload for 'operator=' (operand types are 'wxString' and 'const LPCSTR {aka const char* const}')|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|676|note: candidate: wxString& wxString::operator=(int) <near match>|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|676|note:   conversion of argument 1 would be ill-formed:|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: invalid conversion from 'LPCSTR {aka const char*}' to 'int' [-fpermissive]|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|956|note: candidate: wxString& wxString::operator=(wxChar) <near match>|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|956|note:   conversion of argument 1 would be ill-formed:|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: invalid conversion from 'LPCSTR {aka const char*}' to 'wxChar {aka wchar_t}' [-fpermissive]|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|970|note: candidate: wxString& wxString::operator=(const wxWCharBuffer&) <near match>|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|970|note:   conversion of argument 1 would be ill-formed:|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: invalid user-defined conversion from 'const LPCSTR {aka const char* const}' to 'const wxWCharBuffer&' [-fpermissive]|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\buffer.h|134|note: candidate is: wxWCharBuffer::wxWCharBuffer(size_t) <near match>|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\buffer.h|33|note: in definition of macro 'DEFINE_BUFFER'|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\buffer.h|134|note:   conversion of argument 1 would be ill-formed:|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\buffer.h|33|note: in definition of macro 'DEFINE_BUFFER'|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: invalid conversion from 'LPCSTR {aka const char*}' to 'size_t {aka unsigned int}' [-fpermissive]|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: invalid conversion from 'LPCSTR {aka const char*}' to 'size_t {aka unsigned int}' [-fpermissive]|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\buffer.h|134|note:   initializing argument 1 of 'wxWCharBuffer::wxWCharBuffer(size_t)'|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\buffer.h|33|note: in definition of macro 'DEFINE_BUFFER'|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|659|note: candidate: wxString& wxString::operator=(const wxString&) <near match>|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|659|note:   conversion of argument 1 would be ill-formed:|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: conversion from 'const LPCSTR {aka const char* const}' to 'const wxString' is ambiguous|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|692|note: candidate: wxString::wxString(wxChar, size_t) <near match>|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|692|note:   conversion of argument 1 would be ill-formed:|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: invalid conversion from 'LPCSTR {aka const char*}' to 'wxChar {aka wchar_t}' [-fpermissive]|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|682|note: candidate: wxString::wxString(int) <near match>|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\string.h|682|note:   conversion of argument 1 would be ill-formed:|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|680|error: invalid conversion from 'LPCSTR {aka const char*}' to 'int' [-fpermissive]|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h||In destructor 'ClassRegistrar::~ClassRegistrar()':|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|695|error: cannot convert 'wxString' to 'LPCSTR {aka const char*}' for argument '1' to 'BOOL UnregisterClassA(LPCSTR, HINSTANCE)'|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h||In function 'wxString wxGetFullModuleName(HMODULE)':|
C:\Users\SomeGuy\Desktop\wxMSW-2.8.12\include\wx\msw\private.h|781|error: cannot convert 'wxStringBuffer' to 'LPSTR {aka char*}' for argument '2' to 'DWORD GetModuleFileNameA(HINSTANCE, LPSTR, DWORD)'|
||=== Build finished: 11 error(s), 151 warning(s) (14 minute(s), 20 second(s)) ===|
« Last Edit: August 26, 2017, 03:31:03 am by SomeGuy »

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Font is thin and blurry
« Reply #7 on: August 26, 2017, 02:59:16 am »
Quote
Managed to compile some more and came across more errors. With help of google I fixed them by including WINVER=0x0601 in project defines list. After compiling some more components I managed to get even more errors, here they are (there were more identical winver warnings but I had to delete them since there is a character limit on posting messages):
i am always fascinated what can go wrong... on my machine it is a simple open and build, and i have installed 4 compilers...
What you have done should not be needed... The errors you are getting are follow up errors of you change. Can you revert the change, hit rebuild (the blue arrows near the build button) and if it fails please post the build log form the "build log" tab and not from the "build messages" tab.

I appreciate your collaboration. A lot would have given up by now....

BTW I started to overwork the wiki a bit...

[Edit:] Also: do you have multiple compiler installed? What compiler are you using?

Offline SomeGuy

  • Single posting newcomer
  • *
  • Posts: 8
Re: Font is thin and blurry
« Reply #8 on: August 26, 2017, 04:07:19 am »
Straight up just deleted and unzipped the source, checked the settings again seems like it's reverted. Hit rebuild and got errors that previous change fixed. I believe I have three compilers right now. MinGW installed just on it's own, some other MinGW version installed with normal codeblocks version and Visual Studio IDE which comes with a compiler too, no idea what kind though. Currently there is only one in PATH and that's the first I mentioned, here's the version info
.
I also made sure that wxWidgets and night build of CodeBlocks I am using to build this one uses same compiler. Here is the build log https://pastebin.com/mkVHj2RQ, it's a pretty big text file, froze my laptop for a bit.
« Last Edit: August 26, 2017, 04:08:54 am by SomeGuy »

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Font is thin and blurry
« Reply #9 on: August 26, 2017, 03:11:59 pm »
normally i use gcc4.9 and gcc5.x from here http://tdm-gcc.tdragon.net/download
Now i tried gcc 6.4 from here https://sourceforge.net/projects/cbadvanced/files/MinGW%20Builds/TDM/
i had problems by compiling wxWidgets 2.8 but with this command line i was able to build it without problems
Code
mingw32-make.exe -f makefile.gcc BUILD=release MONOLITHIC=1 UNICODE=1 SHARED=1
CXXFLAGS="-D_WIN32_IE=0x0603"
Codeblocks compiled fine after building wxWidgets.

I googled a bit and found out, that this seems to be some mingw bug, so where do you get your compiler from?

Anyway: i tried the font, and it is "light" as in your image. You may have to select the same font as in Notepad++. If i select Haskling-Black codeblocks looks like notepad++
For the Ligatures (<- -> => >> <<): They don't work (if i understand it correctly they should get replaced with one single glyph? )

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Font is thin and blurry
« Reply #10 on: August 26, 2017, 03:25:39 pm »
i investigated future..
To enable ligatures on windows the renderer has to be set to SC_TECHNOLOGY_DIRECTWRITE [1][2]. This is done via the SCI_SETTECHNOLOGY message, but wxScintilla does not implement this functionality [3]. I don't know how the whole system works with the implementation of wxSintilla so i can not give any answer if it is possible to implement this with codeblocks. Probably obfuscated can give more information on this...


[1] http://www.scintilla.org/ScintillaDoc.html#SCI_SETTECHNOLOGY
[2] https://github.com/notepad-plus-plus/notepad-plus-plus/issues/2287
[3] http://trac.wxwidgets.org/ticket/17804

Offline SomeGuy

  • Single posting newcomer
  • *
  • Posts: 8
Re: Font is thin and blurry
« Reply #11 on: August 26, 2017, 07:17:07 pm »
Codeblocks compiled fine after building wxWidgets.

I googled a bit and found out, that this seems to be some mingw bug, so where do you get your compiler from?

From the original project site http://www.mingw.org/ and Hooray! I finally managed to compile it and it works properly.  There should be a note in wiki saying what compilers are supported to avoid this kind of situation again. Sadly just like for you, nothing changed and font ligatures still don't work. Weird since from what I gathered a newer scintilla version should support them. Maybe it's not recent enough?

Anyway: i tried the font, and it is "light" as in your image. You may have to select the same font as in Notepad++. If i select Haskling-Black codeblocks looks like notepad++
For the Ligatures (<- -> => >> <<): They don't work (if i understand it correctly they should get replaced with one single glyph? )

You're right, that's the basic idea. It's to make code to look nicer and easier to read. I've also tried selecting other Haskling variants, but even with the n++ modification only original font works.

i investigated future..
To enable ligatures on windows the renderer has to be set to SC_TECHNOLOGY_DIRECTWRITE [1][2]. This is done via the SCI_SETTECHNOLOGY message, but wxScintilla does not implement this functionality [3]. I don't know how the whole system works with the implementation of wxSintilla so i can not give any answer if it is possible to implement this with codeblocks. Probably obfuscated can give more information on this...


[1] http://www.scintilla.org/ScintillaDoc.html#SCI_SETTECHNOLOGY
[2] https://github.com/notepad-plus-plus/notepad-plus-plus/issues/2287
[3] http://trac.wxwidgets.org/ticket/17804


That's a shame. Thanks for your research though. I figured that setting SCI_SETTECHNOLOGY 1/2 would be the ultimate solution but since the functionality doesn't exist in codeblocks I am stumped. Also obfuscated hasn't been online in a while but I'll try to submit this as bug in SF, maybe someone will find another solution or a way to implement directwrite.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: Font is thin and blurry
« Reply #12 on: August 27, 2017, 01:27:37 am »
Quote
I've also tried selecting other Haskling variants, but even with the n++ modification only original font works.
here is a screenshot of my config. This does not seem to be to light, blur

Offline SomeGuy

  • Single posting newcomer
  • *
  • Posts: 8
Re: Font is thin and blurry
« Reply #13 on: August 27, 2017, 02:27:29 pm »
Ahh, I meant ligatures don't work. You can get it to look clear enough but it's not very pleasing to the eye. I'd rather just use it on arch where it works properly.
« Last Edit: August 27, 2017, 02:49:36 pm by SomeGuy »

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: Font is thin and blurry
« Reply #14 on: August 27, 2017, 04:24:47 pm »
I have to manually edit the embed manifest file inside the codeblocks.exe to make it not blur. You may try it yourself.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.