Introduction
Hi, I am Vaibhav Malik, a Google Summer Of Code contributor and developer at Inkscape. In this blog, I've described the work that I've done during the sixth week of the Google Summer Of Code 2022. I'm currently working on the font collections feature. You can go through the code that I've written by visiting this link
July 18
As per the plan, I started working on the system-managed font collections. Today I changed the font-collection manager code to accommodate the system-managed font collections at the top.
July 19
Currently, we support two system-managed font collections, the recently used fonts and the fonts used in the document. Today, I started working on the recently-used collections. I already had the recently used fonts logic ready because I worked on this feature earlier during the first week of GSoC. I used the previously written code from my old merge request
July 20
Today, I finished working on the recently used fonts class. I added separate files for the recently used fonts class.
July 21
Out of the blue, I decided to add the font search functionality. It didn't take me long to add a naive prefix string matching algorithm to perform a font search. I intended to make the search entry work and improve its speed later.
Here's how it looked.
July 22
Today, I worked on the count of fonts present in the font list. Every time the font list updates because of a font search, the count of fonts available in the font list also updates.
Video
July 23
Today, I merged the system-managed font collections into user collections in a single frame. The plan was to render the system-managed font collections at the top of the font collections treeview. Then, I added a row separator to make a clear separation between the two types of font collections. I also changed the check buttons in front of the system font collections to radio buttons(for better indications).
Video
July 24
I invested this Sunday to implement the document fonts logic. It's not that I added everything from scratch, but I created the DocumentFonts class to accommodate everything in one object. Video
Conclusion
So this was all for the sixth week. The sixth week was about the system-managed font collections. Thanks for reading. Stay tuned for more updates.