Planet Open Fonts

OSP (Open Source Publishing)OSP retreat in the Netherlands

Two days together to think about OSP in the future. Discussion + Updating the website + Party.

OSP (Open Source Publishing)OSP retreat in the Netherlands

Two days together to think about OSP in the future. Coding + party.

Ben MartinMaking PCB with a hobby CNC machine

One of the main goals I had in mind when getting a CNC "engraving" machine was to make PCB at home. It's sort of full circle to the '70s I guess. Only instead of using nasty chemicals I just have the engraver scratch off an isolation path between traces. Or so the plan goes.


My "hello world" board is the above controller for a 3d printer. This is a follow up to the similar board I made to help use the CNC itself. For a 3d printer I added buttons to set Z=0.1 height and a higher Z height to aid in homing. The breakout headers on the bottom right are for the ESP8266 daughter board. The middle chip is an MCP32017 gpio extender. I've had good experiences using TWI on the ESP8266 and the MCP overcomes the pin limitations quite nicely. It also gives all the buttons a nice central place to go :)

The 3v3 regulator makes the whole show a plug in the AA pack and go type board. The on/off switch is the physical connection to an external battery.

One step closer to the design in the morning, physically create in the afternoon, and use in the evening goal.

Nicolas Spalinger (advogato diary)15 Apr 2016

Building and testing the latest SILE with complex script support

Interested in multilingual publishing with complex scripts and smart fonts? Then you should definitely check out the latest version of SILE (Simon's Improved Layout Editor).
Simon Cozens is the author and the maintainer of this very promising new publishing platform. Development happens on github: https://github.com/simoncozens/sile/.

See this sile-master.sh gist for the details of getting the various components installed and the build working. I recommend you try it with Ubuntu 16.04 (Xenial Xerus).

(There is also homebrew support for OSX users: brew install sile --HEAD ).

Once you have sile running, you should really check out fontproof, the nice new proofing class/package made by Victor Gaultney. It's a great helper to generate pages to test how your font will behave in various situations, especially with complex script features where other publishing paths do poorly.

Nicolas Spalinger (advogato diary)15 Apr 2016

Building and testing the next-generation Scribus with complex script support

Interested in multilingual publishing with complex scripts and smart fonts? Then you should help test the latest CTL (Complex Text Layout) branch from Scribus, the libre desktop publishing app.

Various Scribus developers have worked on this over the years. Andreas Vox started the CTL project. Integrating Harfbuzz, Graphite and Raqm goes a long way towards building up capacity to tackle more complex scripts and do a better job. AFAICT the developers at HOST-Oman and Khaled Hosny have spend a lot of time and energy on this: https://github.com/HOST-Oman/scribus and the results are very promising.

See this scribus-ctl-master.sh gist for the details of getting the various components installed and the build working.
I recommend you try with Ubuntu 16.04 (Xenial Xerus), currently under freeze, because you need QT 5.5. (the codebase won't work on previous versions and you will need to install the whole QT toolchain yourself).
Please report your bugs and help make this better for everyone.

(OpenSuse users should probably look at http://download.opensuse.org/repositories/home:/ftake:/scribus:/CTL/).



Pooja Saxena100 Book Pact — 25 down!

When the new year was still only a day or two old, I saw this and decided I was going to read hundred books this year. The last time I attempted this (and finished with ease) was more than ten years ago. I was in school, and the idea of reading a book in 2–3 days was completely natural. I had probably been reading more that a hundred books each year without knowing that I had. This year is different—I have grown-up responsibilities now and between work, side-projects, chores and travel, it is going to be no cakewalk. But, I am happy to report that earlier this week I read my twenty-fifth book of the year. Even though I was a few days late and roughly 1.2 books behind, I believe I am on track to meet my goal at the end of 2016.

But there is more to this reading pact than just numbers. Because time is at a premium, is there a change in what I read and how? The most obvious pitfall in trying to read a fixed number of books in a limited time is the urge to read only those books that don’t require a great deal of time, effort or patience. When I realized how behind I was February, that option looked very attractive, but thankfully better sense prevailed. Reading several books simultaneously has been the single most helpful thing for me. It has made it harder for me to slack off. Long or difficult reads simmer along for weeks, while others take a couple of days, or sometimes just a few hours. Deciding what books to read simultaneously has brought me the same joy and satisfaction as planning a week’s meals. There is a balance to be struck between my latest infatuations, and that which is necessary; and between what will bring comfort at the end of a long, debilitating day, and what will be a taxing, but fulfilling project in itself. There need to be flavours and texture to appeal to different moods. If I get this right, things are a breeze.

Seeing all twenty-five books together means noticing patterns and biases. It is, for instance, easy to tell that of the books I have read so far less than a third are written by women. Or that I have only read English books. Roughly two thirds have subject matter connected to India, while less than half are by Indian authors. Fiction makes up just about a fifth of the books I have read, and there is only one graphic narrative. Some of these observations I am happy with; others not so much. I hope that by the time I reach a hundred, I’ll be more pleased with the mix of books I have read in the year.

Here are the books I have read so far, in the order I read them—

  1. Sophia: Princess, Revolutionary, Suffragette by Anita Anand
  2. Breaking Out: An Indian Woman’s American Journey by Padma Desai
  3. The Householder by Ruth Prawer Jhabwala
  4. An Independent Colonial Judiciary by Abhinav Chandrachud
  5. Bread: A Global History by William Rubel
  6. I, Robot by Isaac Asimov
  7. Wanderings in India and other sketches of life in Hindostan by John Lang
  8. The World of Hrishikesh Mukherjee: The Filmmaker everyone Loves by Jai Arjun Singh
  9. Mr. Penumbra’s 24-hour Bookstore by Robin Sloan
  10. The Presidency by Gerald W. Johnson
  11. The Wisdom of Insecurity: A Message for an Age of Anxiety by Alan W. Watts
  12. Balmukund Gupta by Madan Gopal
  13. India and the World by Jawaharlal Nehru
  14. Ladybird by Design by Lawrence Zeegen
  15. Walking Towards Ourselves edited by Catriona Mitchell
  16. This Side, That Side: Restorying Partition curated by Vishwajyoti Ghosh
  17. Unbound: 2000 Years of Indian Women’s Writing edited by Annie Zaidi
  18. City Adrift: A Short Biography of Bombay by Naresh Fernandes
  19. Love and Marriage
  20. Sunlight on a Broken Column by Attia Hosain
  21. How to Thrive in the Digital Age by Tom Chatfield
  22. Dictionaries: A Very Short Introduction by Lynda Mugglestone
  23. Nehru: A Contemporary’s Estimate by Walter Crocker
  24. The King’s Harvest by Chetan Raj Shrestha
  25. Laurie Baker: Truth in Architecture by Atul Deulgaonkar

If you would like to follow what I am reading for the 100 Book Pact, I post about the books on Instagram under #MatraTypeReadsA100.


Máirín DuffyUnpackaged Open Font of the Week: Montserrat

montserrat type sample

It’s been quite a while since I’ve done one of these posts – actually, five years – lol – but no reason not to pick an old habit back up! 🙂

Montserrat is a sans serif font created by Julieta Ulanovsky inspired by the street signs of the Montserrat neighborhood of Buenos Aires. It is the font we have used in Fedora for the Fedora Editions logos:

03-treatment

It is also used as the official headline / titling font for Fedora project print materials. Packaging this font is of particular important to Fedora, since we have started using it as an official font in our design materials. It would be lovely to be able to install it via our software install tools rather than having designers have to download and install it manually.

Montserrat is licensed under the Open Font License.

 

So, you want to package Montserrat?

Sweet! You’ll want to follow the first steps here next to the ‘if you intend to do some packaging’ header:

Our fonts packaging policy, which the above refers to, is documented here:

And if you have any questions throughout the process, don’t hesitate to ask on the Fedora Fonts SIG mailing list:

 

Nicolas Spalinger (advogato diary)23 Mar 2016

Why, yes, you may use this on your non-Windows OS...


Looks like the folks at Microsoft are making subtle but interesting changes in their licensing approach for certain fonts. They seem to be moving from the generic EULA that says "While the software is running, you may use its fonts to display and print content." - IOW you can't use any of these fonts if you're not running Windows, the "software" is this context - to a EULA that says "You may install and use any number of copies of the software on your devices". IOW, please go ahead and use or test these fonts even if you happen to run something else than Windows on your devices. We don't care about exclusive rights for this any more.

The font download page for the special versions of Calibri and Sitka Small intended to help with legibility and dyslexia has:

Supported Operating System:
Linux, Mac OS X, Windows 10 , Windows 7, Windows 8, Windows 8.1

Microsoft Fluent Fonts can be installed on both 32-bit and 64-bit versions of Windows. For non-Windows platforms, there must be support for installing system-wide fonts and extracting files from a ZIP file.

Install Instructions:
For Windows platforms, select the file "Microsoft Fluent Fonts.msi" and open the file. For non-Windows platforms that support installing fonts, select the file "Microsoft Fluent Fonts for non-Windows OS.zip". Extract the files, read the file "Microsoft Fluent Fonts EULA.rtf" in a document viewer, and install the font files.

Yep, it's a post-Windows-only world after all. Who would have thought?

OK, these fonts are still freeware: unredistributable, unmodifiable and there is not reproducible buildpath, but still, interesting change of mindset...

CraftingType workshopsIntro Type Design Workshops: Copenhagen, Toronto, San Francisco (May/June)

Intro Type Design Workshops: Copenhagen, Toronto, San Francisco (May/June)

Are you new to type design
or looking to boost your self-taught type design skills?
Come join us at one of our upcoming Crafting Type Workshops!

In Europe? Canada? or USA? We’ve got you covered.

Our professional team of instructors are looking forward to welcoming you at one of our 3-day hands-on intensive type design workshops for beginners:

If you are in Europe you can team up with Thomas & Blondina in Copenhagen on May 6–8

Or, if you are in Canada join Aoife & Octavio in Toronto June 3–5

For those of you who have been requesting a workshop in San Francisco, it’s finally here!

Join Dave & Thomas in San Francisco June 10-12

These events are possible thanks to our three venue sponsors:

Copenhagen, May 6–8: 1508.dk

Toronto, June 3–5: Centennial College

San Francisco, June 10–12: Electronic Frontier Foundation

Don’t miss out on this opportunity to discover how to craft your own type!

For more information head over to our homepage, craftingtype.com

Caolán McNamaranative gtk3 menubar in libreoffice

Following quickly on native gtk3 popup context menus is implementation of native gtk3 menubar and menus.


For comparison here's the (not utterly awful) emulated look prior to this. You can compare the spacing of elements in the menubar, menu separator rendering, distance of checkmarks to the following text, the display of the short cuts in different font attributes with different positioning, and menu entry line spacing.


This is mostly achieved by reusing the export of the toplevel menubar and menu structure via GMenuModel work by Antonio Fernandez and Bjoern Michaelsen and just stuffing a GtkMenuBar into a GtkGrid in the toplevel widget and moving the LibreOffice "guts" widget a level down with no LibreOffice menubar visible.

Caolán McNamaracurrent LibreOffice native gtk3 elements

LibreOffice typically basically has just one gtk widget per top level window and draws everything you see itself, using the gtk themeing apis to make what it draws look like they do in gtk.

But there are some truly native gtk elements. Some of them new.

 

Tooltips


Tooltips, like the above transparent example, are real gtk tooltips now. Here's what they used to look like

 

Popovers

We recently in master began using GtkPopovers for informational messages such as the above calc formula formatting help.

 

Context Menus

As of today, context menus are native Gtk menus. This has the advantage of making managing overlarge menu scrolling all a gtk issue instead of faffing around endless in vcl to emulate what a native gtk menu would do. Flipping on/off mnemonics depending on keyboard input or whether the menu was launched by keyboard instead of mouse similarly becomes "someone elses problem". Here's the same menu launched via the menu key, automatically with mnemonics on start.
The menubar and menus launched from that menubar are currently still emulated ones, but they're the next target for nativization. We have mechanisms in place for the MacOSX and Unity menu integration that can probably be adapted and extended to support driving a native GtkMenuBar hosted in the GtkFixed-alike toplevel widget that fills each toplevel window.



Caolán McNamaragtk3 and LibreOffice

Couple of changes to the gtk3 support in LibreOffice master recently.

Theming stuff

The gtk3 support in master LibreOffice is now updated to support the relatively recent changes in gtk 3.19's style mechanism.

With mclasen's help I've added simple demos to the foreign-drawing demo of gtk-demo for the different elements that we render via those rendering apis. So what we attempt to do in LibreOffice is basically documented in gtk-demo now. So from 3.20 onwards if there are styling flaws in LibreOffice, then gtk-demo can be checked if it has the same problem or not.

Drag and Drop

Drag and Drop is now implemented in the gtk3 backend. DnD here includes moving blocks of cells around a calc spreadsheet using the mouse alone.

Wayland gstreamer video playback

If the gtksink gstreamer element is present (e.g. gstreamer >= 1.7.1 as in Fedora 24) then the gtksink gtk widget integration will be used to play video. Which means support for video playback in LibreOffice under wayland.

Jakub SteinerRio

Rio UX Design Hackfest from jimmac on Vimeo.

I was really pleased to see Endless, the little company with big plans, initiate a GNOME Design hackfest in Rio.

The ground team in Rio arranged a visit to two locations where we met with the users that Endless is targeting. While not strictly a user testing session, it helped to better understand the context of their product and get a glimpse of the lives in Rocinha, one of the Rio famous favelas or a more remote rural Magé. Probably wouldn’t have a chance to visit Brazil that way.

Points of diversion

During the workshop at the Endless offices we went through many areas we identified as being problematic in both the stock GNOME and Endless OS and tried to identify if we could converge on and cooperate on a common solution. Currently Endless isn’t using the stock GNOME 3 for their devices. We aren’t focusing as much on the shell now, as there is a ton of work to be done in the app space, but there are a few areas in the shell we could revisit.

GNOME could do a little better in terms of discoverability. We investigated the role of the app picker versus the window switcher in the overview and being able to enter the overview on boot. Some design choices have been explained and our solution was reconsidered to be a good way forward for Endless. Unified system menu, window controls, notifications, lock screen/screen shield have been analyzed.

Endless demoed how the GNOME app-provided system search has been used to great effect on their mostly offline devices. Think “offline google”.

DSC02567 DSC02589 DSC02616

Another noteworthy detail was the use of CRT screens. The new mini devices sport a cinch connection to old PAL/NTSC CRT TVs. Such small resolutions and poor quality brings more constraints on the design to keep things legible. This also has had a nice effect in that Endless has investigated some responsive layout solutions for gtk+ they demoed.

I also presented GNOME design team’s workflow, and the free software toolchain we use. Did a little demo of Inkscape for icon design and wireframing and Blender motion design.

Last but not least, I’d like to thank the GNOME Foundation for making it possible for me to fly to Rio.

Rio Hackfest Photos

Ben MartinCNC Control with MQTT

I recently upgraded a 3040 CNC machine by replacing the parallel port driven driver board with a smoothieboard. This runs a 100Mhz Cortex-M mcu and has USB and ethernet interfaces, much more modern. This all lead me to coming up with a new controller to move the cutting head, all without needing to update the controller box or recompile or touch the smoothieboard firmware.



I built a small controller box with 12 buttons on it and shoved an esp8266 into that box with a MCP23017 chip to allow access to 16 gpio over TWI from the esp mcu. The firmware is fairly simple on the esp, it enables the internal pull ups on all gpio pins on the 23017 chip and sends an MQTT message when each button is pressed and released. The time since MCU boot in milliseconds is sent as the MQTT payload. This way, one can work out if this is a short or longer button press and move the cutting head a proportional distance.

The web interface for smoothie provides a pronterface like interface for manipulating where the cutting head is on the board and the height it is at. So lucky that it's open source firmware so I can see the non obfuscated javascript that the web interface uses. Then work out the correct POST method to send gcode commands directly to the smoothieboard on the CNC.

The interesting design here is using software on the server to make the controller box meet the smoothieboard. On the server MQTT messages are turned into POST requests using mqtt-launcher. The massive benefit here is that I can change what each button does on the CNC without needing to reprogram the controller or modify the cnc firmware. Just change the mqtt-launcher config file and all is well. So far MQTT is the best "IoT" tech I've had the privilege to use.



I'll probably build another controller for controlling 3d printers. Although most 3d printers just home each axis there is sometimes some pesky commands that must be run at startup, to help home z-axis for example. Having physical buttons to move the x axis down by 4mm, 1mm and 0.1mm makes it so much less likely to fat finger the web interface and accidentally crash the bed by initiating a larger z-axis movement than one had hoped for.

Nicolas Spalinger (advogato diary)17 Dec 2015

Progress on font format interoperability

Looks like we are seeing some promising movement towards better font formats interoperability and interchange with glyphs2ufo, newer versions of vfb2ufo (OSX and Windows only, closed-source), ufo2ft, extractor and ufoLib.

Maybe the times of opaque and proprietary font formats are slowly coming to an end...

Ben Martin17 Segments are the new Red.

While 7 Segment displays are quite common, the slightly more complex cousin the 17 segment display allows you to show the A-Z range from English and also some additional symbols due to the extra segments.

The unfortunate part of the above kit which I got from Akizukidenshi is that the panel behind the 17 segger effectively treats the display as a 7 segger. So you get some large 7 segment digits but can never display an "A" for example. Although this suits the clock that the kit builds just fine, there is no way I could abide wasting such a nice display by not being able to display text. With the esp8266 and other wifethernet solutions around at a low price point it is handy to be able to display the wind speed, target "feels like" temperature etc as well as just the time.

With that in mind I have 3 of these 17 seggers breadboarded with a two transistor highside and custom lowside using an mxp23017 pin muxer driving two 2803 current sinks which are attached using 8 up 330 ohm resistors in IC blocks. This lowside is very useful because with a little care it can be setup on a compact piece of stripboard. All the controlling MCU needs is I2C and it can switch all the cathodes just fine.

While experimenting I found some nice highside driver ICs. I now have custom PCB on their way which can each drive 2 displays and can chain left and right to allow an arbitrary number of displays to be connected into a single line display. More info an photos to follow, I just noticed that I hadn't blogged in a while so thought I'd drop this terse post up knowing that more pictures and video are to come. I also have the digits changing through a fade effect. It is much less distracting to go from time to temp and back if you don't jump the digits in one go.

Jakub SteinerNew Cantarell Maintainer

GNOME’s default UI typeface Cantarell gained a new maintainer, Nikolaus Waxweiler. Nikolaus was on a holy crusade to improve the state of text rendering on Linux by improving FreeType and lobbying for changes in different projects. While he continues on those efforts, bug reports hinted (pun intended) that GNOME’s font rendered worse as FreeType improved so he went on to investigate why. It turns out that Cantarell had many metric related issues and its development was quite stagnant.

Cantarell with properly defined Blue Zones

The process of making fonts look good even on our crappy LoDPI screens is commonly called hinting and it requires precision. Cantarell ships as an .otf font or OpenType font with Postscript-flavor. Hinting .otf fonts works differently from hinting common TrueType or .ttf fonts. You define several horizontal snapping zones, also called blue zones, like descender, x-height, capital height, ascender height, etc. so that they match your design. That means that the outlines you are designing must as a general rule be placed precisely within these blue zones or the hinting algorithm will ignore them. Blue zones must be constructed to contain everything they should contain. The idea is that a well designed typeface is consistent and regular enough that coarse blue zones describe the design well. The hinting algorithm of the font design application will then place stem information according to those blue zones, among other considerations. For a final rendering, glyphs are snapped to those horizontal blue zones, meaning they are only snapped on the Y-axis. Think ClearType.

Cantarell was full of off-by-ones-or-twos and technical don’t-do-thats, diacritics were inconsistent and Cyrillics still need a look-over. The bold face was in an even poorer state. Back in June 2013 Adobe’s contributed a new high-quality OpenType/Postscript-flavor hinting engine. The problems were only magnified because the new engine actually takes hinting information seriously and will spit out garbage when the font designer isn’t careful.

Nikolaus has cleaned up the fonts considerably by fixing the blue zones, outline precision to fall within them and numerous other problems. You might also notice that letters like bdfklh are a bit taller for a more harmonious look. It should display consistently at all sizes now.

Oh, by the way: FreeType 2.6.2 brings more user-visible changes. If you are on a rolling-release distribution, you might have noticed them already. If you wish to read up more on those changes, Nikolaus wrote a lengthy article about the changes and future plans on freetype.org.

For a Cantarell 0.1.0 release we plan to have all accented glyphs fixed. Nikolaus has finished a first pass at diacritics and is now looking for testers. Anyone who deals with diacritics in his/her language, especially central European people, please get the .otf fonts from the git repo and report bugs to the GNOME bug tracker.

Do note that Nikolaus didn’t just dive into maintainership, but wrote most of this post. My incentives to get him set up a blog and post on Planet GNOME have been fruitless so far.

Caolán McNamaraBetter polygon rendering in LibreOffice's Gtk3 Support


Above is how LibreOffice's "svp" backend rendered rotated text outlines in chart where the text is represented by polygon paths. Because the gtk3 backend is based on that svp backend that's what you got with the gtk3 support enabled.

After today's work above is how the svp backend now renders those paths when rendering to a cairo-compatible surface such as the gtk3 support provides.

If we mandate that "svp" only operates on cairo compatible surfaces, then we can get this niceness into android and online too, and can ditch our non-cairo text rendering code paths.

Caolán McNamaraInsert Special Character in Spelling Dialog

LibreOffice 5.1 spelling dialog now has a little toolbar to enable inserting special characters into the spelling editing widget. Also Added paste, so the insert icon isn't lonely.

Ben MartinESP8266 and a few pins

The new Arduino 1.6.x IDE makes it fairly simple to use the ESP8266 modules. I have been meaning to play around with a some open window detectors for a while now. I notice two dedicated GPIO pins on the ESP8266, which is one more than I really need. So I threw in an led which turns on when the window is open. Nothing like local, direct feedback that the device has detected the state of affairs. The reed switch is attached on an interrupt so as soon as the magnet gets too far away the light shines.


I will probably fold and make the interrupt set a flag so that the main loop can perform an http GET to tell the server as soon as it knows when a state has changed.

Probably the main annoying thing I've still got is that during boot it seems the state of both the gpio pins matters. So if the reed switch is closed when you first spply power then the esp goes into some stall state.

It will be interesting to see how easy OTA firmware updates are for the device.

Caolán McNamarafinding UI crashes by fuzzing input events with american fuzzy lop

As mentioned previously I've been experimenting using afl as a fuzzing engine to fuzz a stream of serialized keyboard events which LibreOffice reads and dispatches.

Performance is still pretty poor, but by tweaking our headless mode to allow dialogs to be created, then using that headless mode for eventtesting and then hacking out the actual rendering of the UI to the headless backend I've got something that performs reasonably well enough to enable me to set a far higher limit of 50 input events per cycle and start to discover real bugs in impress.
  1. 5.1 only crash in impress sidebar under some circumstances
  2. null marked obj still in impress mark cache
  3. another null deref in impress sidebar panels
  4. crash in impress if you exit while the annotation window is open
  5. divide by zero in an impress sidebar panel
  6. another annotation window null deref issue
  7. crash on sending a keystroke to an empty impress page list widget
  8. missing dispose on annotation windows
  9. missing dispose on alive by unshown panels
  10. crash if frame is destroyed before keystroke gets to it
  11. crash if you close impress main frame while slideshow is running

all of which is encouraging, though some of these are possibly very unlikely in real world use. But the prized find is

intermittent crash on undo of insert slide

because I've seen that happen plenty in the real world, and is the problem I was hoping to find.

Turns out its been so difficult to track down because there's a timer involved which is triggered by earlier modifications to the document. To get it to crash by undoing insert slide you have to modify an object in the document, which triggers an object-modified timer, and then very quickly, before the modified-timer fires, undo insert slide. Which has the effect of impress not registering that the slide has been deleted. Some time later, in far away code, impress will crash on use of the deleted slide.

afl-eventtesting was able to find a sequence of keystrokes (which isn't a huge surprise seeing as I primed it with some insert and undo slide sequences so it didn't have to mutate things too far before it modified a document object after an insert and before the undo) to trigger the crash and the eventtesting + headless modes of LibreOffice gave a reproducible platform where the same events happen in the same sequence without any intermediate system-ui events to throw off the delicate timing. Once the thing is reliably reproducible then its just a matter of grinding through the debugging.


Jakub SteinerWallpapers

Part of GNOME’s visual identity are the default wallpapers. Ever since GNOME3 was released, regardless of the release version, you can tell a stock GNOME desktop from afar. Unlike what most Linux distributions do, we don’t change the wallpaper thematically from release to release and there is a strong focus on continuity.

Adwaita 3.18 Day

While both Android and Windows are going analog, we’re not that hipster. If you follow my journal, you probably wouldn’t be shocked to hear I mainly use Blender to create the wallpapers. In the past Inkscape took a major part in the execution, but its lacking implementation of gradients leads to dramatic color banding in the subtle gradients we need for the wallpapers. I used to tediously compensate for this in GIMP, using noisify filters while working in high bit depth and then reducing color using GEGL’s magical color reduction operation that Hans Peter Jensen wrote a while a back. It allows to chose various dithering algorithms when lowering the bit depth.

However thanks to Cycles, we get the noise for free :) Actually it’s one of the things I spend hours and hours waiting for getting cleaned up with iterations. But it does help with color banding.

Blender rendering the night variant of the 3.20 Adwaita wallpaper (work in progress).

In my work I have always focused on execution. Many artists spend a great deal of time constructing a solid concept and have everything thought out. But unless the result is well executed, the whole thing falls apart. GNOME Wallpapers are really just stripes and triangles. But it’s the detail, the light play, the sharpness, not too much high density information that make it all work.

First iterations of the GNOME 3.20 variants are beginning to land in the gnome-backgrounds module. Check it out.

Morning

Day

Night

Lock Screen

OSP (Open Source Publishing)Workshop Up Pen Down

Up Pen Down – Huppe Plume Tonne is a workshop linking typography and performance. It is a collaboration between OSP and choreographer Adva Zakai, and you are invited to participate! The workshop will take place Saturday 24th and Sunday 25th of October in the Balsamine theatre, Brussels. On the 25th the doors will be open […]

Ben MartinTerry & the start of a video project.

I did a test video showing various parts of Terry the Robot while it was all switched off and talking about each bit as I moved around. Below are some videos of the robot with batteries a humming and a little movement. First up is a fairly dark room and a display of what things look like just using the lighting from the robot itself. All the blinking arduino LEDs, the panel, and the various EL and other lights.



The next video has a room light on and demonstrates some of the control of the robot and screen feedback.



I got some USB speakers too, but they turned out to be a tad too large to mount onto Terry. So I'll get some smaller ones and then Terry can talk to me letting me know what is on its, err, "mind". I guess as autonomy is ramped up it will be useful to know if Terry is planning to navigate around or has noticed that it has been marooned by a chair that a pesky human has moved.

The talk over video is below. I missed talking about the TPLink wifi APs and why there are two, and might be only one in the future. The short answer is that Terry might become a two part robot, with a base station only one wifi AP is needed on the robot itself.


Caolán McNamarafuzzing LibreOffice input events with american fuzzy lop




This is a demo of using the american fuzzy lop fuzzer as an engine to drive LibreOffice UI testing by fuzzing serialized keyboard input events.

For demo purposes the UI is visible here, but it can be run headlessly too. Given enough time afl can fuzz the initial input text of hello into keyboard shortcuts to enter menus and launch dialogs.

I think the concept is pretty neat and fun, but this is still experimental stage stuff that I'm playing with and trying to up the performance.

Jakub SteinerSVG animation

I haven’t written a post in quite a while, so I decided to document my failure to come up with a viable alternative to the translatable animations we use in Getting Started documentation. So let’s start with what’s wrong with it. Despite being far more maintainable than a screencast, it’s still a major hassle to keep the videos in sync with the developing designs. Every translation requires a re-render of all the frames and it quickly grows into gigabytes per language.

Czech version of one of the Getting Started videos

If you’re interested in seeing how these were produced, see the Behind the Scenes of getting Started video.

The animations themselves aren’t super complex. Basic transforms (translation, scale and rotation) and opacity is all that’s needed. And because we are using translatable SVGs in Mallard, it was time to look into SVG animation. There are numerous options available to animate in SVG, which already gave me a hint that none of them will work properly for my use case. I hate being right.

SMIL

I’ll starts with the one I like least. The inline garbage approach. SMIL. Each attribute of an SVG element is animateable. Creating a global sequence using this by hand is close to impossible. Its capabilities do include a few extras like animating an object along a path, but in general I cannot imagine editing this by hand. Incorporating Inkscape into the workflow seemed feasible first. Inkscape will not touch the XML it doesn’t know about. It will not clean out any of the animation stuff when you save. The xlink namespace definition to animate along path seems to have worked, but I can’t figure out some weird offsets. Groups usually get some matrix transforms as soon as you reposition them. It all may boil down to Inkscape using its own coordinate system, I don’t know. I haven’t succeeded to bolt some animation on the Inkscape generated SVG.

About as complex of a SMIL animation as I can produce :)

CSS

A much more appealing was the concept of using CSS animation. We do a lot of transitions and some animation in gtk+, so it would have been great to reuse the same technology here. While CSS transitions are spot on, animation with a sense of a global timeline is not really the use case for the web. Usually animation in the intended context is an individual transform happening after an event triggered. Creating a sequence of various objects animating in a global timeline is pretty awkward. Especially if you want to loop the whole animation infinitely. The only tools for your disposal is either a time offset or relative time keyframes, keeping all objects’ animation the same length.

CSS Based animation of a #cursor1 with a JS playback reset button that doesn’t work. ;)

I also ran into Firefox and Webkit interpreting transform-origin differently.

.run-animation {
  transform-origin: top left;
  animation: cursor-move 2s ease 1s forwards, 
                    fade-in 1s linear 0s, 
                    cursor-click .25s ease 3s alternate 2;
  }
@keyframes fade-in {
  from { opacity: 0;  }
  to {  opacity: 1; }
}
@keyframes cursor-move {
  from { opacity: 1;  }
  to {  opacity: 1; transform: translate(100px,-100px);}
}
@keyframes cursor-click {
  from { transform: translate(100px,-100px) scale(1); }
  to { transform: translate(100px,-100px) scale(.5); }
}

The above CSS uses animation-delay. It might be possible to have all keyframes last the same time and use the keyframes relative keyframing for timing (duplicate same keyframe to “hold”). I can’t imagine retiming or generally modify an existing animation hand constructed using CSS’ keyframes though. A visual tool with a timeline would be necessary.

Javascript

There are many js based frameworks to aid creating and animating SVG documents in realtime, but none of them seem to aid me in creating a global complex animation using assets created in Inkscape. I looked at Google Webdesigner next.

Google Webdesigner

Google Webdesigner has all the necessary visual tools like property keyframing and a global timeline. Sadly it produces a rather less self contained set of html, js and css files. I didn’t figure out a way how that could be brought into Mallard.

In the end, even though the animations don’t seem to be that complex, maintaining them by hand doesn’t seem very doable. A visual editor is required. If Google Webdesigner can be taught to produce a standalone SVG or Mallard taught to use iframes, I’m all ear. Any pointers to a similar tool is also welcome.

Caolán McNamaraview/edit shape control points

In LibreOffice 5.1 the shape properties dialog for enhanced shapes now lists and enables editing the control points. This is in addition to the preexisting mechanism of selecting with the mouse the yellow control handle of the shape, but enables viewing and fine control over the control values

Jakub Steiner

&o&t&t&window.ShadowDOMPolyfill.wrapIfNeeded&o&n.forEach&t.removeTransientObservers&e.addEventListener&e.addEventListener&e.addEventListener&e.addEventListener&e.removeEventListener&e.removeEventListener&e.removeEventListener&e.removeEventListener&i&a&e.attachedCallback&e.&e.detachedCallback&t.host&console.log&o.addedNodes&o.addedNodes&r&r.host.localName&t&s&console.groupEnd&console.group&console.groupEnd&t.nodeType&i.tag&console.group&t.setAttribute&e.attached&console.groupEnd&r&e.createdCallback&v&r&this.attributeChangedCallback&d

OSP (Open Source Publishing)A new home for OSP

In what might be a some-what surprising move (even to ourselves) OSP has taken up offices in the World Trade Center. Do not hesitate to pass by! Send us a mail, and we will meet you in the lobby! Or write us a letter at: Avenue Roi Albert II / Koning Albert II laan 30, […]

OSP (Open Source Publishing)Up Pen Down — Huppe plume tonne

Announcing Up Pen Down — Huppe plume tonne a workshop and preformance during the Quinzaine Numérique 2015: specifics of the workshop are on their way, but for now, here is the introduction text: En 2012, OSP (Open Source Publishing) construit un workshop de plusieurs mois avec des étudiants de l’École Supérieure d’Art et Design de […]

Caolán McNamaraimpress save background image

Impress has a "Set Background Image" option in its slide context menu for a while. For 5.1 I've added a matching "Save Background Image" to save the current background image to file.

Caolán McNamaracrash testing and coverity, conference report

Slides for this morning's Crash Testing and Coverity numbers presentation. Summary, all ok, numbers ~0. If I'm analysing this right, then the highest quality is achieved at the height of the holiday season.

Caolán McNamaravertical text columns preview

My small contribution to last night's LibreOffice conference hack-fest. In vertical text mode, the column view for pages now previews in the correct direction.

Ben MartinTerry Motor Upgrade -- no stopping it!

I have now updated the code and PID control for the new RoboClaw and HD Planetary motor configuration. As part of the upgrade I had to move to using a lipo battery because these motors stall at 20 amps. While it is a bad idea to leave it stalled, it's a worse idea to have the battery have issues due to drawing too much current. It's always best to choose where the system will fail rather than letting the cards fall where the may. In this case, leaving it stalled will result in drive train damage in the motors, not a controller board failure, or a lipo issue.


One of the more telling images is below which compares not only the size of the motors but also the size of the wires servicing the power to the motors. I used 14AWG wire with silicon coating for the new motors so that a 20A draw will not cause any issues in the wiring. Printing out new holders for the high precision quadrature encoders took a while. Each print was about 1 hour long and there was always a millimetre or two that could be changed in the design which then spurred another print job.


Below is the old controller board (the 5A roboclaw) with the new controller sitting on the bench in front of Terry (45A controller). I know I only really needed the 30A controller for this job, but when I decided to grab the items the 30A was sold out so I bumped up to the next model.


The RoboClaw is isolated from the channel by being attached via nylon bolts to a 3d printed cross over panel.

One of the downsides to the 45A model, which I imagine will fix itself in time, was that the manual didn't seem to be available. The commands are largely the same as for the other models in the series, but I had to work out the connections for the quad encoders and have currently powered them of the BEC because the screw terminal version of the RoboClaw doesn't have +/- terminals for the quads.

One little surprise was that these motors are quite magnetic without power. Nuts and the like want to move in and the motors will attract each other too. Granted it's not like they will attract themselves from any great distance, but it's interesting compared to the lower torque motors I've been using in the past.


I also had a go at wiring 4mm connectors to 10AWG cable. Almost got it right after a few attempts but the lugs are not 100% fixed into their HXT plastic chassis because of some solder or flux debris I accidentally left on the job. I guess some time soon I'll be wiring my 100A monster automotive switch inline in the 10AWG cable for solid battery isolation when Terry is idle. ServoCity has some nice bundles of 14AWG wire (which are the yellow and blue ones I used to the motors) and I got a bunch of other wire from HobbyKing.

Ben Martin10 Foot Pound Boots for Terry

A sad day when your robot outgrows it's baby motors. On carpet this happened when the robot started to tip the scales at over 10kg. So now I have some lovely new motors that can generate almost 10 foot pounds of torque.



This has caused me to move to a more rigid motor attachment and a subsequent modofication and reprint of the rotary encoder holders (not shown above). The previous motors were spur motors, so I could rotate the motor itself within its mounting bracket to mate the large gear to the encoders. Not so anymore. Apart from looking super cool the larger alloy gear gives me an 8 to 1 reduction to the encoders, nothing like the feeling of picking up 3 bits of extra precision.

This has also meant using some most sizable cables. The yellow and purple cables are 14 AWG silicon wires. For the uplink I have an almost store bought 12AWG and some hand made 10 AWG monsters. Each motor stalls at 20A so there is the potential of a noticable amount of current to flow around the base of Terry now.

CraftingType workshopsCrafting Type Toronto: 5 Seats Left

Just 5 seats left for the upcoming Crafting Type Toronto!

Aoife Mooney returns to Toronto to offer a 2.5 day beginner’s font design workshop!

Where: Centennial College, Toronto, Canada (951 Carlaw Ave)

When: September 25th—27th, 2015

Friday: 3:30 pm — 7:00 pm Saturday + Sunday: 9:00 am — 7:00 pm

We offer discounts for design association members, students, and further discounts for early bird registrations, so prices range from CAD$225 (student’s early bird) to CAD$550 (last minute professional’s price)

With just 1 instructor and our unbeatable 10:1 student:instructor ratio, places are limited and selling fast….

Sign up Today!

Also for all font fanatics, there’s an excellent evening event the Monday before the workshop (September 21) at Sheridan College: “An international panel of type and design experts will gather at Sheridan College on September 21 to talk about the form of typography and how its history contributes to its future. The discussion will follow an exhibition and world premiere screening of a digitized and expanded film by Carl Dair, who designed Cartier – Canada’s first Latin typeface.”

https://www.sheridancollege.ca/news-and-events/typeforming.aspx

CraftingType workshopsCrafting Type Toronto Canada

Aoife Mooney and Octavio Pardo return to Toronto to offer a 2.5 day beginner’s font design workshop!

Where: Centennial College, Toronto, Canada (951 Carlaw Ave)

When: September 25th—27th, 2015

Friday: 3:30 pm — 7:00 pm Saturday + Sunday: 9:00 am — 7:00 pm

We offer discounts for design association members, students, and further discounts for early bird registrations, so prices range from CAD$225 (student’s early bird) to CAD$550 (last minute professional’s price)

With just 2 instructors and our unbeatable 10:1 student:instructor ratio, places are limited and selling fast….

Sign up Today!

Also for all font fanatics, there’s an excellent evening event the Monday before the workshop (September 21) at Sheridan College: “An international panel of type and design experts will gather at Sheridan College on September 21 to talk about the form of typography and how its history contributes to its future. The discussion will follow an exhibition and world premiere screening of a digitized and expanded film by Carl Dair, who designed Cartier – Canada’s first Latin typeface.”

https://www.sheridancollege.ca/news-and-events/typeforming.aspx

Jakub SteinerGUADEC Gothenburg

The GUADEC posts have settled by now, which is why it’s time for me to post another one. I hope those of you lucky enough to be abel to visit the beautiful, but expensive, city of Gothenburg will enjoy this little 4K edit of the moment I’ve captured on my pocket camera.

GUADEC Gothenburg at 4K

And if you did, check out some of the photos too. I’ve stoppped counting how many I’ve attended, but it’s always great to meet up with all the creative minds and the new student blood that makes GNOME happen. Thanks to all of you, and especially to this year’s organizers! They made a stellar job.

DSC01363 DSC01140 DSC01233

Ben MartinInspecting ODF round trips for attribute retention

Given an office application one might like to know which attributes are preserved properly across a load and save cycle. For example, is the background color or margin size mutated just by loading and saving an ODF file with OfficeAppFoo version 0.1.

The odfautotests project includes many tests on simple ODF documents to see how well each office application preserves the information in the document. Though testing ODF attribute preservation might not be as simple as one might first imagine. Consider the below document with a single paragraph using a custom style:

<office:text>
  <text:p text:style-name="style">hello world</text:p>
</office:text>

In the styles.xml file one might see something like the following:

<style:style 
  style:display-name="TestStyle" 
  style:family="paragraph" 
  style:name="style" 
  style:parent-style-name="standard">
     <style:text-properties fo:background-color="transparent" />

</style:style>

This input is obviously designed to see how well the fo:background-color style information is preserved by office applications. One thing to notice is that the style:family attribute in the above is paragraph.

If one loads and saves a document with the above fragments in it using LibreOffice 4.3.x then they might see something like the following in the output ODF file. In content.xml:

<text:p text:style-name="TestStyle">hello world</text:p>

And in the styles.xml file the background-color attribute is preserved:

<style:style style:name="TestStyle"
     style:family="paragraph"
     style:parent-style-name="standard">
      <style:text-properties fo:background-color="transparent"/>
</style:style>

One can test if the attribute has been preserved using XPath selecting on the @style-name of the text:p and then making sure that the matching style:style has the desired fo:background-color sub attribute.

The XPath might look something like the below, which has been formatted for display:

//s:style[
  @s:display-name='TestStyle' 
  or (not(@s:display-name) and @s:name='TestStyle')]
/s:text-properties/@fo:background-color

Performing the load and save using Word 2016 is quite interesting. The resulting content.xml file might have:

<style:style style:name="P1"
   style:parent-style-name="TestStyle"
   style:master-page-name="MP0"
   style:family="paragraph">
     <style:paragraph-properties fo:break-before="page"/>
</style:style>
...
<office:text text:use-soft-page-breaks="true">
  <text:p text:style-name="P1">hello world</text:p>
</office:text>

and in styles.xml the background-color setting is pushed up to the paragraph style level.

<style:style style:name="TestStyle"
   style:display-name="TestStyle"
   style:family="paragraph">
      <style:text-properties fo:hyphenate="false"/>
</style:style>

<style:default-style style:family="paragraph">
...
<style:text-properties ... fo:background-color="transparent"

So to see if the output ODF has the fo:background-color setting one has to consider not just the directly used style "P1" but also parent style elements which might contain the attribute instead. In this case it was pushed right up to the paragraph style.

For the Word output the above XPath doesn't necessarily work. If the attribute we are looking for has been pushed up to paragraph then we should look for it there instead. Also, if we are looking at the paragraph level then we need to be sure that there is no attribute directly at the lower, TestStyle, level. Also it helps to ensure in the selection that the paragraph is really a parent of the TestStyle, or P1 in the above.

After a bit of pondering I found an interesting solution that can evaluate using plain XPath1.0. To test the value I pick off the fo:background-color from both the TestStyle and also the paragraph level. If those values are passed to concat() then, if the attribute is only at the TestStyle or paragraph level we get something that can be used to test the value. If the attribute appears at both levels are are in trouble.

For example:

<style:style style:name="TestStyle"
<style:text-properties ... fo:background-color="transparent"  />
</style:style>
<style:default-style style:family="paragraph">
<style:text-properties ... fo:background-color="#FF0000"/>
</style:style>

Considering the semantic XPath query of concat( TestStyle/@fo:background-color, paragraph/@fo:background-color ) the result would be  transparent#FF0000 which would not match a string comparison with 'transparent'.

The trick is to use an array selector on the second item in the concat() call. If we only return the paragraph/@fo:background-color value if there is no value associated with the TestStyle then the concat will effectively only return one or the other (directly on TestStyle or nothing on TestStyle and the attribute from paragraph).

With this the query can allow the office application to move the information to a parent of the style and still match for a test.

Caolán McNamaracrash testing, 80000 documents, 0 export failures, 0 import failures

The last LibreOffice crashtesting run reports our goal of 0 import/export crash/asserts. This is on a refreshed up to date 80000 docuent corpus from various bugzillas and other sources.

Earlier runs had been over a static collection of 76000 documents, hopefully now we have zeroed the dials we can refresh the corpus far more frequently, perhaps on every run, and actively trawl for crasher documents.

Caolán McNamaraguadec 2015 porting LibreOffice to gtk3 slides

Presented our porting LibreOffice to GTK3 presentation at GUADEC yesterday. Here, as hybrid pdf, are those slides with a rough guide to our architecture there and current wayland progress.

It was pointed out after the presentation (by jrb), that our gtk3-themed spinbuttons had the up and down buttons in +,- order instead of the correct -,+ order. So that's fixed now.

Jakub SteinerFPV Addicts

I’ve started doing longer edits of the 15 second clips I usually put on Instagram. I’ve been really creative with the naming so far.

FPV Addicts

FPV Addict

Understanding Fonts (Dave Crossland and friends)Liveblog Notes: Granshan 2015 Day 1

These are live blog notes from the lectures at the Granshan 2015 in Reading

Usual disclaimer for live blogging: These are informal notes taken by me, Dave Crossland, at the event, and may or may not be similar to what was said by the people who spoke on these topics. This is probably FULL of errors. What do you want for free? :) If something here is incorrect it is probably because I mistyped it or misunderstood, and if anyone wants corrections, just should tweet me – @davelab6 – or post a comment. Thanks!

Intro: Boris

15 years of MATD

Gerry

Great to see this happening. Its like a surfer movie, you stand on the board and you dont know if they will make it…. and now we are on the wave and I thin we are in for a nice ride but you dont know how it will go.

Why all of this? Well, there are so many people from around the world here today, and will a room like this, people who are making a living from type. 20 years ago people would not believe it. Global type is a business, and we are at the beginning. We have decades of growth in interest in global typogrpahy, not as a historical study, but a new domain that we – you – is helping to build. That combines understanding of culture, history, and a practical approach to discipline that can make new interesting designs. that treat the language, the script, of everyone with respect that they deserve.

These 3 will days will emphasise this. we are like mature teenagers, we are beginning to get there, and in the next few years the granshan will have a clear iddentity. its a nice thing to see poeple coming back to the university they studied at; if you have a strange feeling, its stranger for me.

its great to start the event with a legend, no better opening speaker; gerard unger.

Gerard Unger: Letterforms from the edge of Europe, 700–1200

Lets go to northern france, here was made in 871-877, a manuscript, the 2nd bible of charles de gaul. This it eh opening phase of the book of genesis. its in the biblioteque nationale, a prized possesoin of france. here is a detail from this page; LIBER. splinded capitals; identified as ture carolingian capitols. Nicolas Gray did this in ‘Lettering as Drawing, Contour as Soliouette’. This is modelled on classical roman caps, but changed enough to call them carolinian.

This is about calligraphy, epigraphy (carving) and digital letters. you see these letters in many manuscripts but few inscriptions. Kind C d G 2 was king of france, westerm roman empire, etc.

Now lets go to the abbey of or vey with a rare inscription with carolingian caps. its badly weathered, copper was inlaid and gone long ago. you see the curves in the G, D, the short serifs, the way the verticals flare; its all different to how the romans do it. this is around 840-844.

Back to this book, the caroligian miniscule, you see the page and the detail. when combined with the caroligian lowercase, there is the cap ‘N’ and an uncial ‘A’ and an uncial ‘q’ and ‘U’ and ‘O’. The franks were a germanic tribe, and charlemagne was a Frank, and CdG was a grandson.

As you go through the manuscript, at page 99, there is “The Book of Kings I”, “Liber Primo”. In the middle between the carolingian caps, there is another world! The letters are worked into a pattern, 1/3rd of them are symbols …

Uncials reached UK through missionaries; in the middle ages, people traveled widely and letters spread far. The uncials may be from greece or africa. A paleographer sugggested roman uncials are the work of a roman calligrapher working from greek uncial letterforms. this is from the coda cina inicas (?) and the uncial ‘a’ of the roman is familiar, the omega is flipped 180′ you have a roman ‘m’, so its supposed a direct lineage.

here are “english uncials” and what was made in the uk from them. this is caterbury from 750 AD, now in the royal library in stockholm. there are differences; the pen angle of roman is 30′ and in UK uncials its flat/horizontal, and a bit more ornate. Roman uncials are a bit more simple.

back to the 2nd bible of Charles de Gaul. … celts had their own art; here’s a celtic helmet from north france, now in the national archelogical museum in paris. its 4thC BC. Swirling lines, spirals, and snail shells, and interfaced cross hatching, and zoomorphic designer (eg snake heads). Here’s a vase, in the british museum, 3thC BC, more flat graphics but still spirals.

Here in the 2nd bible of CdG there are spirals, wheels, and geometric decoration in a famous manuscript. here is a 715-720AD bible from ireland, this is a treaure of the british library. in 563, st columba from ireland, founded a monastary in yeoman in the west coast of scotland. here’s another page of the linus van gospel (?) with this lettering; you see amazing creativity in solving problems that if i suggested them today to my clients they would refuse them.

here you see ‘abraham’ after a greek phi, and its split into 2 lines and fitted in an interwined way. there is a ‘G’ with the arm stem bend backwards. great stuff!

160 years later, this style was interpreted for these caps. in 1868 a hoard was found in ireland that had this chalice; it has text, an angular ‘h’ and a round uncial ‘e’.

Letterforms like an angular ‘s’ and diamond ‘o’ were influenced by runes and the ‘ogam’ (?) script. the o with a stem like a phi.

here is a stone from south east ireland with an ogam inscription; there is little known of this script.

So, this is showing how in the UK there is a mixture of roman square caps, uncials with round forms, and insular letterforms.

today designers also mix forms; when they do multiscript projects, they also look for elemnts scripts share; here is R S’s 2012 Sinhala + Latin. Similarly is 2013 by Bon Min, with Korean + Latin. There is Aaron Bell’s 2011 Latin + Korean. They found similar elements in both scripts, and the 2 have striking similarities, but lots of differences; because the korean script influences them similarly.

Ezcar was designed similarly, the Latin is angular reflecting the angularity of the devanagari.

This is Katari by erin mclaughlin, also very angular. not mixing scripts like mediavals did, but not far off.

ben jones, here today, designed a latin work with several scripts; amenian, gree, arabic, devanagari.

last, the angular ‘u’. something has gone wrong <img src=😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> look at the anuglar ‘u’ in my alvarata. it got gold in the EU design awards and i went to istanbul to pick up the prize. i was happy to see that the angular ‘u’ was known and used there too <img src=😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />

Hrant: how do you get clients to use fonts like alvarata, that have a lot of variety? clients are too conservative.

GU: Sure, we educate them. you have to scare them 😉

Vaibhav Singh: Pictures of things: context in the time of global design

Gerry: Vaihbhav’s slides are notable as the images from from the authors collection. his eye for finding patterns when looking at material is great.

VS: Thanks, I’m happy to see so many familiar faces. The markets are growing, we have less and less time to become really interested in what we are doing. you assume a lot of ideas that educational frameowrks provide or professional practice provide. so its an intersting challenge to look at how challenges can be handeld.

I’m glad GU mentioned the movmebt of people. Its map morning! global practice today is not new. we see everything happening in many counties related to prining has been internaional. its never been an insular activity.

Printing press arrives in india in 1556, was meant to go from portugal to ethiopia, and political chagnes there meant they didnt. next was from denmark. danish missionairies had a base in south india, and the story goes they made type from the covers of cheese boxes. lots of innovations in a hands on manner. it became a base in the south east of india, and printed for multiple lanauges. not only for indian subcontentn, but china, tiben, even armenian. then from the UK, and then the french. the first english press was captured from the french. then USA missionaries in early 1800s in mumbai. they made new advances in type; they divded letters into parts to deal with large amounts of text – that was the US press and foundry.

So it was an international thing; it was not just people from the west, paper was from the middle east or china. in the 20th century, these motivations to develop new things changed. early 20th c, there is a surge in mechanical typesetting, faster production, and happened centered in mumbai, a capital crisis pushed newspaper owners to increase producitivity of print press workshops.

In the early 1920s, people in mumbai reached out to monotype uk to devleop something. there are layers of development, MT and LT produced a typeface, but that isn’t totally true, there is a layer of development, and the development process is more interesting than the type itself. a type is not a single thing, it mutates over time.

Similarly in NYC in the 30s, the Mergenthaler Linotype company took an interest to make a devananagri. their worked passed thorugh london to calcutta in 1933.

there was a collaborative effort at MIT, a hi tech company in cmabridge, and a guy in india, made a devanagari type. the commission to matthew carter, came from england, the processing in germany, the testing in india, and sent back to nyc.

the idea is that type is developed not only with formal steps, but as we see the world globally today, we are getting to in the practice of type design, its merely about putting things, making things look like each other; thats a basic idea you could be subject to. but this appraoch shows, what kind of context do we have, is this meaningful to the practice, or is it reinforcing ideas that may or may not be useful.

here is a popular dipiction of indian writing in a french trade card circa 1900. this has hyphens! the boards are huge. but this Jain poetry book from the British Library (‘banarasavilasa’) is totally different. the practice of writing is not serving the same purpose as other writing does; these are religious texts, the writer already knows the text, they know it; so its not really record keepings, it gives you a que when you need it. the text is memorised, so you come to it as a differnet kind of reader or writer.

the landscape format of the book is from the practice of using birch bark in the north and palm leaves in the south of india, and writing was shaped by these subsctrates. you get a metal stylus, you move the subsstrate – here, palm leaves – and when you have different materials/etchnology enter the domain, you see things evolve.

100 years later, you see in 1926, the tools are different; there is paper, a pen, a codex book. the codex form of the book changes according to its use. the things that appear as understanding of technoology, is interssting; there is a diffusion of tech, the more remote the place the longer it takes to get there. “the future is already here, but not evenly distributed.” so look at the actual use to tell you about the tech, the past and future practices.

here is an interesting use of a codex book, a udaipur street banker, 1926. if you have lists, the purpose of the text changes; a landscape book isnt sensible. here’s a late 19th C student manuscript, a long horizontal book, but the text is rotated.

so, an essense of cutlure is polytonic; its not that something works because its traditioanl. we also see this in designing typefacs. putting things into newer forms, or continuing traditions. older and newer ideas come togehter ot make osmething that may be better informed and more beneficial.

here is a diagram from the monotype salfords archive: adrian frutiger + mahendra patel “New Nagari” for the Univers Devanagri project. it has a specific form, looks at a pen sequence, then a low contrast version, a more simplified version… but a more complex letter would have a more radical transformation. you have to see letters in context; a letter out of context means nothing.

I dont say if this is good or bad, i say, does this appraoch take into account the context that this letter is going to be read. can this letter be deciphered? this is radical stuff in the top, there is a modularity to it, like early bauhaus attempts at universal type forms. there are directions here that could be explored further.

but designers say this is good/bad to follow. its not about that, there is possiblity to analyse information and make a more finer evaluaiton.

typefaces often have a political will behind them. there were script reform efforts, here the Sagariya Lipi. Here is Hari Govil with the 2nd Devangari Linotype machine, Mumbai 1933. Here is the LInotype devanagari v2, revised from the original design by him. This is something that people grew up with, so they become programmed to see these as The Way Thing Are, but not thinking if this is a good way or a bad way, given limitations of that time.

So how is type to evolve? A lof of type today, there is good type design happening but typography is not going anywhere. the people to use the type are not there. there is the tradiaional form that looks like this, and there isn’t much typographic exploration.

So, “Trade is a big influence in getting peopele to take an ineterst in one another… but so is the sheer pursuit of human curiosity.” – Amartya Sen (paraphrasing David Hume.)

Thanks!

Veronika Burian and José Scaglione: Curating a type library

Gerry: There is the difference between a type publisher and a foundry; a collection is formed with a vision, with type for specific uses. so i cornered these 2 to talk about this. about the global enviornment, where type designers now find themselves. they will tell us their secrets! :) vik and jose

v: its awkward to be back here 😉 12 years ago it was a different place :) so, an intro: this is the old Dept of Typography sign, that is bashed in, and this is a particular approach to type design, orientated to industrialism and utilitarianism. a focus on process and method. we were serioues, no grey hair and wearing all black (lol)

After that, we had this idea to partner in business, an experiment. we started in a collaborative typeface that became TT Carmina. Vik was in the UK and I was in Rosario Argentina. End of 2005, early 2006, the idea of long distance collaboration in type design wasnt spread like it is now. collaborative design was not widespread like it is now.

we had a shared interested in editorial design, book design.

j: so we made a method. this is an ‘a’ i made in amsterdam in 2004. vik grabbed it and said, it well, but if we do this on the bowl and the terminal. so i said, i love it, better, but it lost an essence, and it can have this terminal. and that led to a typeface.

v: its handy to have this other pair of eyes to bounce off each other. so, we had an idae for an indie foundry, there were a few around, but you cant open a shop with 1 typeface. so we saw to expand the library. we finished Jose’s reading type, Athelas, and mine – Maiola – was at FontShop in a 10 years contract. Ronnia. So we had this first website that was hideous

J: its my design 😉

v: its 10 years ago, its ok 😉 so we made this promo material and started as it goes. we did our own projects too but also realising that we have only 4 hands and 2 brains so we wanted to open up the library. so we asked our colleagues whose work we liked, like Cora by Bart Blubaugh, and the library took shape.

j: so we talk about the type busienss. how do you actually sell your stuff? there is a lot to be done to sell type. the comemrcialising of typeface has ebcome more complex recently. a lot of onts on offer. many media. the pricing structure varies a lot. its a complex scenario.

v: quickly, you see differne tdistribution models. foundries sell to a font rental system that distributes fonts. There is a cloud model too. pricing is key. you price to market standards; being too high means less sales, being too low means its not a good idea as it depreciates the market and conveys your work is lower quality. so pricing should be sustainable, to pay bills and be competitive at the same time.

j: here is a graph, 200 euro at the top. market price is say 100 euro. but a sustainable price, has development time costs, then the insertion costs of bringing it to market. it takes time too. you also must account for growth, so that the library and foundry can grow. and you need extra for a saftey net. as sometimes fonts fail to sell. you dont know exactly why. so how to manage a budget ir something we are not trained on. there are obvious things. rent an office, ;ay vendors, admin time, design time. but les sobvious costs; fianciail, taxes, services and supplies, hardware and software. taxes can add up. then, legal, distribution, support and advertising costs. every 3 or 4 years, someone will come along and say something like ‘you idiot that font is just like mine’ – this is hypothetical! :) – and you may need to consult a lawyer.

v: so you have retail, tailored, and hydrid fonts, going to desktop, web and OEM customers. We have so many licenses; high profile branding, merchandising, embedding (flash, pdf, ms word), broadcasting, server licenses – all for desktop. web: self hosting, rental, or perpetiual, etc etc.

j: so we educate users so they dont get lost.

v: our customers feel really lost, ‘wtf/ what do i need?’.

j: so you need to really clarify your license structure. you need to udnerstand your guide is NOT your EULA.

v: so educating users, you separate the good from the bad quality type (eg, dafont) you have opentype feature guides, and something that worked well for us is type in use showings; you give a customer before htey buy how it looks and can work. also pairing, people ask which fonts go together. not just a business levle, but also teaching the value of type, we do workshops to teach type.

j: 3, structuring your type library is a good idea. indep foundries have a possiblity to have closer contact to clients and strucutre the library properly. we mention some ideas, “a type library should…” which is our point of view but you can extrpaolte and have your ideas too.

j: point 1. collaborate with commercial efforts. the comemrcial world needs constant visual updates. we can sell font to the same company over and over. those editorial users need more expansive families, more challenging designs. they are constnatly updaitng the visual id, but also technology is always changing. and the editorial field requies text fonts, fonts engineered for continuous reading, and that sets the competitoin bar higher.

v: points 2, it should be part of company’s general character. there was an industrial approach inherited from Reading MATD. expanding to bloal markers is a challenge and intersting. it allows us longer periods, to plan projects.

j: this is our lase meeting, 5 people on skyep around the world.

v: you need to know the key players in your field.

j: when you see how is doing good stuff, you can target htem. FCE, is the most important book publisher in mexico; once they started using our type, we could show that, and its amazing that when a well known publisher or designer uses your font, they refer others to you. that helps exposure and media coverage.

v: you must balance personal and commercial interests. we try not to repeat outseles, to learn new technoogies, to do historial research. for me, things i picked up at MATD.

j: so, a library should be coherent. there is many advantages: you need a clear definiton of what the product is.

v: we sell type famlies, not single fonts. whereas say sudtipos sells single fonts targetting packaging so its quite different. that impacts the licensing model. pampatype has a different focus too.

j: the longer you are on the market, the more you can cover the whole area of your focus. planning helps, what you learn today you can reuse. you can set up your standards, even if you are a small foundry. house indistraues. if you have consistent high qulaity you have more loyality, you have customers returning to find more, you can build along term customer relatinoship.

v: how to keep it interesting, avoiding repetition? well, we have editorial design as the overall area. then newspapers, books, reference works, and magazines, are sub categories. if you over all, you can only cover each a little.

j: if you dig into books, there are novels, academics, poetry, comics, manuals; and so on. if you pick and choose, you end up with a library, you dont get a clear focus. if you say, fonts for screen, that can span the top 4 groups with a theme. or, if you design a large family that can have a cross sectional span across the top 4 areas. you dont want fonts in your library to compete, you want them to complement each other.

v: how to deal with trends? some libraries becomes bound to a period’s trends, like emigre in the 90s of the vintage/retro stuff popular lately. but the classics have a much longer period of market insertion. also multiscript work with more glyphs is a longer process.

Creating a library conept, licensing scheme, a pricing model, communciations mode – all key to making a brand.

setting high quality standards, aid education efforts, …. , are key to building a company.

v: Real possibilities in other markets? its a question of econmic viability.

j: we started in 2006, we started with pan euro character sets. this helped us a lot as back then there were very few text fonts that carried these accents. you look at a map, how much of the globe uses latin? there is a LOT, but many areas are not well covered. Where are there foundries? Where are there not?

v: the economic centers are changing. its a matter of time. why expand to foreign scripts? new challaneges. personal, and commercial. typography can make an impact, a positive difference there. there is a lack of text types, with wegihts and styles. there is undersrved needs. so, there are may be 3 areas; self initiatved, semi initiated and fully paid projects. we started adelle cyrillic with this sketch, and we used consutlants to help us with that. there is a new generation of new type designers in these regions. there is demand for new quality. the wild days of copyright infringement are sort of retreating. here is a self initiated devanagari done at TDi, and this is still not done 😉

j: potential problems? its more expensiv.e you hve to leanr stuff, hire people to consult, post production. the key issue is, how do we sell it? we might need help how to sell these properly.

v: sometimes it can work; you need a client starting to initate a project and can continue with the fund from that initial work.

j: work on the edges, its okay to work where you dont know what will happen. this is our bree, designed as a corporate font, they can use it in a new way, like in a newspaper. an arty newspaper sure, but they find a new way to use it. this type was made for luxury printed books, to get away from swuareness of pixels, but it was licensed for apple ibooks as people saw it then worked on retina screens as well. so we can not predict the destination of our fonts. Iskra by Tom Grace (who is here) is thought to be a display type, but it works perfeclty nicely for immersive reading! and Alverata also pushes the limits.

Thanks!

Q: Are you happier to work on client commissioned work where the finance is clear? or self initiated work?

v: its a shot in the dark. and you learn things in commissioned work, but its narrowly scoped by the clients needs. the client can vary; you can have great ones who let you do your thing… if you do your own work, you are more free.

gerry: so vik just said, you can do what you want. Jo was the first MATD graduate to do a PhD, and there is now over a dozen matd gradutes who have or are in the process of completing one. 15 years ago people might think there may not be enough space for such high level research in this aera. these 2 talks go togther in a way, but v + j talk about an established market, people publishging ebook and magazines and so on. But JO is talking about another world. designing type for scripts withotua ny libraries out there. in 10 years there might be a talk about editorial design in the scripts Jo is presenting now. a prophetic talk.

Jo: so, this is a self initiated project following up my PhD on the mongolian script. Sherpa; the writing systems of the himalayas. there are minority scripts. another map! here we are.

Lantsa is a script, when I did my field trips to look at tibetian and mongolian writing systems. it was used by buddhists and went with the culture through india and chian to japan. this lantsa/ranjana writing system has been studied before. earlier academics and lingusists docimented it. explorers in 1828 made plates and documetnation of the script, in their early writings. this is Hodgeson’s “Notices of the languages, literature and religion of the bauddhas of Nepal and Bhot” (sp, Bhutan.)

Ranjana is from Nepal in the same period. The north indian gupta brahmi script is the ancestor script. those writing sstems have not been produced as printing types; the challenege is what aer we looking for, which models are good, and how to translate them into a digital font. it occured not earlier thant he 11th centiry.

in 1834, Csoma de Koross “Grammar of the Tibetan language” has plates 38 and 39 with teh grammar of the langauge and these plates have a complete syllabory. i use the word lantsa for both, as the literature also focuses on it.

in 1888, sarat chandra das argues that the lantsha characters in tibet occured during hte 2nd and 4th period of the grammat reformation of the tibetian script. he also gives a good voerview of the syllabary; the 36 consonants that are combined with vowelrs and each other, so the glyphs set becomes very large.

end of day 1

Caolán McNamaraRHEL 6.7 upgrades LibreOffice from 4.0.4.2 to 4.2.8.2

The freshly announced RHEL 6.7 upgrades LibreOffice from 4.0.4.2 to 4.2.8.2. RHEL 7.2 will upgrade from 4.2.6.3 to 4.3.7.2. Fedora 23 will have 5.0.0 in it.

Caolán McNamaraLibreOffice on wayland

Hacked LibreOffice a bit more today towards wayland support via the gtk3 vclplug. Good news is that it launches, displays and you can interact with it mostly as expected.

Under F22 with a gnome-on-wayland session, GDK_BACKEND=wayland ./soffice.bin gives me...


Which is encouraging as this morning I had no window contents at all. Downside is that I can't resize the window and the menubar is displayed behind the title bar. Maybe a client side decoration issue.

Ben MartinOSX Bundling Soprano and other joys

Libferris has been moving to use more Qt/KDE technologies over the years. Ferris is also a fairly substantial software project in it's own right, with many plugins and support for multiple libraries. Years back I moved from using raw redland to using soprano for RDF handling in libferris.

Over recent months, from time to time, I've been working on an OSX bundle for libferris. The idea is to make installation as simple as copying Ferris.app to /Applications. I've done some OSX packaging before, so I've been exposed to the whole library paths inside dylib stuff, and also the freedesktop specs expecting things in /etc or whatever and you really want it to look into /Applications/YouApp/Contents/Resources/.../etc/whatever.

The silver test for packaging is to rename the area that is used to build the source to something unexpected and see if you can still run the tools. The Gold test is obviously to install from the app.dmz onto a fresh machine and see that it runs.

I discovered a few gotchas during silver testing and soprano usage. If you get things half right then you can get to a state that allows the application to run but that does not allow a redland RDF model to ever be created. If your application assumes that it can always create an in memory RDF store, a fairly secure bet really, then bad things will befall the app bundle on osx.

Plugins are found by searching for the desktop files first and then loading the shared libary plugin as needed. The desktop files can be found with the first line below, while the second line allows the plugin shared libraries to be found and loaded.

export SOPRANO_DIRS=/Applications/Ferris.app/Contents/Resources/usr/share
export LD_LIBRARY_PATH=/Applications/Ferris.app/Contents/Resources/usr/local/lib/soprano/

You have to jump through a few more hoops. You'll find that the plugin ./lib/soprano/libsoprano_redlandbackend.so links to lib/librdf.0.dylib and librdf will link to other redland libraries which themselves link to things like libxml2 which you might not have bundled yet.

There are also many cases of things linking to QtCore and other Qt libraries. These links are normally to nested paths like Library/Frameworks/QtCore.framework/Versions/4/QtCore which will not pass the silver test. Actually, links inside dylibs like that tend to cause the show to segv and you are left to work out where and why that happened. My roll by hand solution is to create softlinks to these libraries like QtCore in the .../lib directory and then resolve the dylib links to these softlinks.

In the end I'd also like to make an app bundle for specific KDE apps. Just being able to install okular by drag and drop would be very handy. It is my preferred reader for PDF files and having a binary that doesn't depend on a build environment (homebrew or macports) makes it simpler to ensure I can always have okular even when using an osx machine.


Ben MartinTerry && EL

After getting headlights Terry now has a lighted arm. This is using the 3 meter EL wire and a 2xAA battery inverter to drive it. The around $20 entry point to bling is fairly hard to resist. The EL tape looks better IMHO but seems to be a little harder to work with from what I've read about cutting the tape and resoldering / reconnecting.

I have a 1 meter red EL tape which I think I'll try to wrap around the pan/tilt assembly. From an initial test it can make it around the actobotics channel length I'm using around twice. I'll probably print some mounts for it so that the tape doesn't have to try to make right angle turns at the ends of the channel.

Ben MartinTerry - Lights, EL and solid Panner

Terry the robot now has headlights! While the Kinect should be happy in low light I found some nice 3 watt LEDs on sale and so headlights had to happen. The lights want a constant current source of 700mA so I grabbed an all in one chip solution do to that and mounted the lights in series. Yes, there are a load of tutorials on building a constant current driver for a few bucks around the net, but sometimes I don't really want to dive in and build every part. I think it will be interesting at some stage to test some of the constant current setups and see the ripple and various metrics of the different designs. That part of he analysis is harder to find around the place.


And just how does this all look when the juice is flowing I hear you ask. I have tilted the lights ever so slightly downwards to save the eyes from the full blast. Needless to say, you will be able to see Terry coming now, and it will surely see you in full colour 1080 glory as you become in the sights. I thought about mounting the lights on the pan and tilt head unit, but I really don't want these to ever get to angles that are looking right into a person's eyes as they are rather bright.


On another note, I now have some EL wire and EL tape for Terry itself. So the robot will be glowing in a sublte way itself. The EL tape is much cooler looking than the wire IMHO but the tape is harder to cut (read I probably won't be doing that). I think the 1m of tape will end up wrapped around the platform on the pan and tilt board.

Behind the LED is quite a heatsink, so they shouldn't pop for quite some time. In the top right you can just see the heatshrink direct connected wires on the LED driver chip and the white wire mounts above it. I have also trimmed down the quad encoder wires and generally cleaned up that area of the robot.


A little while ago I moved the pan mechanism off axle. The new axle is hollow and setup to accomodate a slip ring at the base. I now have said slip ring and am printing a crossover plate for that to mount to channel. Probably by the next post Terry will be able to continuiously rotate the panner without tangling anything up. The torque multiplier of the brass to alloy wheels together with the 6 rpm gearmotor having very high torque means that the panner will tend to stay where it is. Without powering the motor the panner is nearly impossible to move, the grub screws will fail before the motor gives way.


Although the EL tape is tempting, the wise move is to fit the slip ring first.

OSP (Open Source Publishing)OSP in 2014

Last February, OSP officially became an asbl/vzw: a Belgian association with no lucrative purposes. We are trying to get more structured and this goes through making precise activity reports. Here is the one for 2014 : OSP2014.pdf.

OSP (Open Source Publishing)Relearn 2015

Relearn is back for 2015! We’re very happy to see the summer school continue and morph into a new being again this year, with a new set of people taking care of the organization. Quick recap: OSP set up the first edition of Relearn in 2013. In 2014, Relearn was a jointed venture with all […]

Caolán McNamaragtk auto-mnemonics support

Thanks to Simon Long over at raspberrypi, we now have auto-mnemonics support in LibreOffice under gtk3 and gtk2. So the underlines appear in dialogs when alt is pressed and disappear when released, while menus activated from the keyboard show underlines while those activated from the mouse don't. Gives a more native flavour to the UI. Only in 5.1 for the moment.

Caolán McNamaracrash testing, 1 export failure, 0 import failures

I graphed our crashtesting improvement on importing documents a while back, and mentioned that while import failures had improved dramatically that the export figures weren't as shiny. But there's been some great progress there too, especially with the work mstahl has been putting in, so today the crashtesting has reported effectively three consecrative 0 import failures and with the first drop to 1 reported export failure (an assert) so I present the graph of export failure progress


 And an updated import crashtesting graph.



This is on our corpus of 76000+ documents sucked down from various bugzillas and other sources.

Caolán McNamaraEqualize Width/Height

In LibreOffice 5.1 I've added an equalize width/height pair of adjustments to the "shapes" submenu when multiple objects are selected. Equalize Width and Equalize Height which adjusts the width/height of the selected objects to the width/height of the last selected object.

So if you need to adjust the shapes of a bunch of little images and shapes. Adjust one, then select the lot, selecting the reference one last, and use these to update the rest of the sizes.

Caolán McNamaraImpress Slide Design

Selecting multiple slides in normal view and using the slide design dialog will now affect all the selected slides as opposed to the single last selected slide in 5.1 onwards.

Caolán McNamaragtk3 clipboard support implemented

Our LibreOffice gtk2 vclplug inherits from our generic X11 vclplug and so in lots of places we just continued to use our historic X11 vclplug for various things, one big example being clipboard support.

To do the same with the gtk3 vclplug would work for the case where gtk3 is backed by X11, but not if backed by wayland. So we needed to implement cut and paste with the gtk3 apis.

X clipboard/selection/cut and paste is errr... "tricky", so it was a bit of a death march to drag myself to the keyboard to go about this. But it turns out the gtk clipboard apis are really good and its reasonably easy to get it up and running. So the LibreOffice gtk3 vclplug now has clipboard support.

Last major thing is to get gtk3 gstreamer integration working for video playback and then it's mopping up territory.

Ben MartinAbide the Slide

The holonomic drive robot takes it's first rolls! This is what you get when you contort a 3d printer into a cross format and attach funky wheels. Quite literally as the control board is an Arduino Mega board with Atmel 2650 MCU and a RAMPS 1.4 stepper controller board plugged into it. The show is controlled over rf24 link from a hand made controller. Yes folks, a regression to teleoperating for now. I'll have to throw the thing onto scales later, but the steppers themselves add considerable weight to the project, but there doesn't seem to be much problem moving the thing around under it's own power.



The battery is a little underspeced, it will surely supply enough current, and doesn't get hot after operation, but the overall battery capacity is low so the show is over fairly quickly. A problem that is easily solved by throwing more dollars at the battery. The next phase is to get better mechanical stability by tweaking things and changing the software to account for the fact that one wheel axis is longer than the other. From there some sensor feedback (IMU) and a fly by wire mode will be on the cards.



This might end up going into ROS land too, encapsulating the whole current setup into being a "robot base controller" and using other hardware above to run sensors, navigation, and decision logic.

CraftingType workshopsCrafting Type: Barbados

Crafting Type: Barbados

July 13—17th

Early Bird rate: get 15% off our full prices until June 29th!

Sign up → https://www.tug.org/craftingtype/register-2015-07-barbados.html

OSP (Open Source Publishing)ASBL Print party outcome

When you mix travel stories with non profit association elation, within the zero boundary format of a print party, what do you get? We came up with a mix of different things we wanted to share and show, and mixed them in with some more down to earth writing extracted from our Statutes. One article […]

OSP (Open Source Publishing)Article III: Goal, social object, field of action

This is an extract from our association statutes. Links at the end of the page. The association OSP has as its main goal to propagate Free and Open Source culture in Brussels and internationally. More specifically, OSP asbl aims to stimulate the social movements of Free Culture and Free Software in the field of graphic […]

OSP (Open Source Publishing)HTML sauce cocktail

We just finished a great workshop week @HEAR Strasbourg on the topic of printing HTML. Printing HTML is not a new idea, but in the last few years we’ve been compiling sets of tools and scripts to properly use HTML as a base for proper layout. This idea has taken on several flavors over different […]

OSP (Open Source Publishing)OSP ASBL VZW Celebration Print Party

We are happy to announce an OSP ASBL/VZW* celebration evening and Print Party. Back from our yearly travel to the Libre Graphics Meeting, full of Toronto stories, and soon to be tattooed with a VAT number, OSP welcomes you in their transit tavern. Join us in cutting, plotting and browsing recent works. Come to celebrate […]

Caolán McNamaraimpress, right click, insert image





Added "insert image" to right click context menu in impress.

Caolán McNamaracrash testing, 1 import failure

moggi described here our crash testing infrastructure. Basically we have a document horde mostly populated through get-bugzilla-attachments-by-mimetype which downloads all the attachments from our bugzilla (and a whole bunch of other bugzillas) that are in formats which LibreOffice can open. We then import the lot of them with the above testing harness looking for crashes and aborts. A new report tends to appear every 1-3 days.

These documents are filed in bugzillas. In many cases they were filed specifically because they were causing some sort of trouble for someone, so there are a lot of hostile documents in there.

We currently have 76221 documents in the horde, the most recent run reports one, one single solitary failure (an assert in a .doc about invalid positioning of a cross-reference bookmark in a document with change-tracking enabled).

Here's a graph over time of our failure rate. Where failure is either a straight forward crash, or a triggered assert. The builds are dbgutil, extra-debugging, extra-checking, assert-enabled, exception-specification-enabled builds.


You get temporary local peaks every now and then when either a new assert is added or someone introduces a bug. We have two purposes here, immediate regression discovery and historic bug removal.

We also have export crash testing, where the numbers aren't as shiny yet, but are on an equivalent downward trend. More on that in a while when we figure out how to fix this final import stinker.

Caolán McNamaragtk3 native theming menubar

After something of a struggle I appear to have the right gtk3 menubar theming combination for the selected item now after image...

before image...

Footnotes