Hello from Serbia

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Hello from Serbia

marko.p.radojcic
Hi,
I recently started translating LibreCAD on the online platform to Serbian Cyrillic (Serbian Latin was also an option for me but it is not configured on project level).
Also, I managed to use the unifont from https://unifoundry.com/unifont/, convert it to lff and implement in a drawing to type Cyrillic letters without any issue. This font seems to be very good and it easily integrated to version of LibreCAD from GitHub that I compiled. The font itself is licensed under GNU Font Embedding Exception and the SIL OFL license. This seems to me as a viable candidate to cover what unicode.lff could not.

Can it be integrated in a future release of LibreCAD? From licensing point it seems OK to me but I am not an expert in those terms.

I plan of becoming a part time *(freetime) developer of FreeCAD to help what and where I can. Do I need to clone the repository from original project in order to someday make a pull request ?

Thank you for your time for reading this and I hope we will have a great time together.
Reply | Threaded
Open this post in threaded view
|

Re: Hello from Serbia

flywire
marko.p.radojcic wrote
I plan of becoming a part time *(freetime) developer of FreeCAD to help what and where I can. Do I need to clone the repository from original project in order to someday make a pull request ?
FreeCAD is a different project to LibreCad. Technically you need to clone the repo to contribute but the process is almost hidden by GitHub for simple contributions: https://dokuwiki.librecad.org/doku.php/usage:faq#contribute_on_github
Reply | Threaded
Open this post in threaded view
|

Re: Hello from Serbia

marko.p.radojcic
Thank you for correcting me and providing useful information. It was indeed a lapse in writing I meant LibreCAD instead of FreeCAD.
Reply | Threaded
Open this post in threaded view
|

Re: Hello from Serbia

dxli
Hi Marko,

Any help is welcome.

You can definitely review recent issues/fixes/pull requests to get a taste of the codebase.

Something in my mind we can do for v2:

1. upgrade to Qt6/c++17 (or c++20). I don't mean to change all code, just to allow usage of latest Qt/c++;
2. Low level, can we add hyperbola/parabola to complete our conics support (long term project);
3. CAD features, important for end users(improve hatching/bevel/offset etc.);
4. Script support(Python interface, I have no idea how to do this one);
5. Add unit tests (Google tests, can be run automatically at github).

If you are interested, we can set up a new topic to track this (supposed to be for any interested developers).

Regards,

Dongxu Li
marko.p.radojcic wrote
Thank you for correcting me and providing useful information. It was indeed a lapse in writing I meant LibreCAD instead of FreeCAD.
Reply | Threaded
Open this post in threaded view
|

Re: Hello from Serbia

marko.p.radojcic
Hello Dongxu, thank you for a warm welcome.

I thought about what you have written and I will start by reviewing code, looking at issues/fixes/pull requests.

I can try experimental Linux build in a virtual machine where I can make sure only Qt6 is used and maybe do some fixes in order to make it work.

Regarding the topics I might be able to tackle in the near future are items 1, maybe 3. As for number 2 i don't have enough experience with CAD internal mathematics to try to tackle that but I will at least look at it.

I think it is a good a idea to create a landing topic for newcomer developer/enthusiasts who would like to help.

A little about my background in C++. I learnt C++ a while ago and did some OpenGL and GPGPU projects with AMDAPP a long time ago (I am getting old), above a decade ago.

From looking at random libraries I see that the code is well written and neat, although more comments on some functions couldn't hurt.

I don't have experience in writing unit tests (after all I am not a professional programmer) but I am willing to learn.

All in all I can't make a big time commitment to the project since I am working in another profession but I will take it one step at the time.

For me personally the priorities would be:
1) add selection to default font when font from dxf or dwg is not recognized. That would I think benefit many users with professional CAD drawings.
2) improve performance of loading large drawings if possible. I know this is probably a difficult one since not all of those can be parallelized but some more multithreading support could be a nice to have feature.
3) (maybe I should make a feature request about this or study the options more since I can't find it) - define in options the default font to be used for non-recognized fonts.

Thank you for your time reading this and best of luck, tty soon.
Reply | Threaded
Open this post in threaded view
|

Re: Hello from Serbia

flywire
marko.p.radojcic wrote
I don't have experience in writing unit tests
It is fairly standard part of CI development in all projects these days. They are pretty straight forward, generally you supply input for a class and test T/F output. If a test fails you check the code you just changed.
Reply | Threaded
Open this post in threaded view
|

Re: Hello from Serbia

dxli
In reply to this post by marko.p.radojcic
Hi Marko,

Yes, language font support is a way to start.

1. complete our translation (https://librecad.org/translate.html) in languages you know;
2. font support, complete our font support for the unicode.lff set (which should be good enough for everything except Chinese). For Chinese fonts, the huge number of characters, users can download WenQuanYi fonts separately; in addition, you can create new lff fonts using tff2lff in our tools. We can include the font in our package, if it's covered by a compatible license;
3. yes, we may indict a missing font somehow, but still supply a default font display. Have a look at the class RS::FontList.

On coding styles, yes, we should try to  make it easy for any new developers. LibreCAD v3 is quite good on this point.

Regards,

Dongxu
marko.p.radojcic wrote
For me personally the priorities would be:
1) add selection to default font when font from dxf or dwg is not recognized. That would I think benefit many users with professional CAD drawings.
2) improve performance of loading large drawings if possible. I know this is probably a difficult one since not all of those can be parallelized but some more multithreading support could be a nice to have feature.
3) (maybe I should make a feature request about this or study the options more since I can't find it) - define in options the default font to be used for non-recognized fonts.

Thank you for your time reading this and best of luck, tty soon.
Reply | Threaded
Open this post in threaded view
|

Re: Hello from Serbia

marko.p.radojcic
dxli wrote
Hi Marko,

Yes, language font support is a way to start.

1. complete our translation (https://librecad.org/translate.html) in languages you know;
2. font support, complete our font support for the unicode.lff set (which should be good enough for everything except Chinese). For Chinese fonts, the huge number of characters, users can download WenQuanYi fonts separately; in addition, you can create new lff fonts using tff2lff in our tools. We can include the font in our package, if it's covered by a compatible license;
3. yes, we may indict a missing font somehow, but still supply a default font display. Have a look at the class RS::FontList.

On coding styles, yes, we should try to  make it easy for any new developers. LibreCAD v3 is quite good on this point.

Regards,

Dongxu
I have created a small change in project files enabling C++17 support on GNU/Linux, it compiles and runs, but obviously I don't have write access to the repository. I am newbie to GitHub but I did create a fork, should I create a PR in the fork or in LibreCAD/LibreCAD repository ? I will continue translating Serbian Cyrillic translation and and then look at suggested solutions you recommended.
Reply | Threaded
Open this post in threaded view
|

Re: Hello from Serbia

dxli
Yes, PR to github LibreCAD/LibreCAD is the proper way to go. We need to review the impact on all platforms (Windows/MacOS/Linux).

I remember Armin(LordOfBikes) had some reasons for staying c++11/14.

If you feel comfortable enough, you can have direct write access as well.

marko.p.radojcic wrote
I have created a small change in project files enabling C++17 support on GNU/Linux, it compiles and runs, but obviously I don't have write access to the repository. I am newbie to GitHub but I did create a fork, should I create a PR in the fork or in LibreCAD/LibreCAD repository ? I will continue translating Serbian Cyrillic translation and and then look at suggested solutions you recommended.