Menu

Numeric time signatures display in large bold font

Rob L
2017-09-14
2018-04-17
  • Rob L

    Rob L - 2017-09-14

    I'm running EasyABC 1.3.7.7 on Linux Mint 18.2.

    Ever since I went from EasyABC 1.3.7.6 on LM 17.3 to 1.3.7.6 (and now 1.3.7.7) on LM 18.2, EasyABC's display of numeric time signatures (like 4/4 or 6/8) and text symbols (like p or f dynamics) has been odd - the numerals and characters seem to be in a large bold font. The time signatures for common and cut time are fine (look normal, not large bold font), and everything looks fine when I export to PDF.

    I've included a screenshot showing a time signature example.

    Clearly this is not a life-or-death issue. Perhaps it's something to do with the fonts I have installed on my system, but if so I can't figure it out. I've checked / changed the editor font, but doing so (not surprisingly) makes no difference in the rendered notation. I see .png files for some of the symbology (e.g., pp.png) in the EasyAbc img directory, and the images seem to contain larger bolded text images, but I don't see any time signature .png files there.

    Any ideas on what I need to do to get the "old" normal time signature display back?

    Thanks! Rob L

     

    Last edit: Rob L 2017-09-15
  • Rob L

    Rob L - 2017-09-18

    Thanks, but I already have the MS fonts installed - they show up in my word processor and font manager - so I presume the root cause is something else. Regards, RL

     
  • J.W. de Jong

    J.W. de Jong - 2017-09-18

    I looked it up in the source, and I think I might have a solution. I think it is because you are using python-wxgtk3.0 instead of python-wxgtk2.8.
    Open svgrenderer.py and change:

            wxfont = wx.Font(font_size, font_family, style, weight, False, font_face, wx.FONTENCODING_DEFAULT)
            if '__WXMSW__' in wx.PlatformInfo:                
                wxfont.SetPixelSize((font_size, font_size))
                y += 1
            else:
                wxfont.SetPointSize(font_size)
    

    into

            wxfont = wx.Font(font_size, font_family, style, weight, False, font_face, wx.FONTENCODING_DEFAULT)
            if wx.Platform != "__WXMAC__":
                wxfont.SetPixelSize((font_size, font_size))
                y += 1
            else:
                wxfont.SetPointSize(font_size)
    

    It is around line 755 and only one line is different. It was:
    if '__WXMSW__' in wx.PlatformInfo:
    and should be:
    if wx.Platform != "__WXMAC__":

    Does that solve it for you?

     

    Last edit: J.W. de Jong 2017-09-18
  • Rob L

    Rob L - 2017-09-23

    Thanks, J.W. Yes, that makes the display look a lot better. I've attached an example. Regards (and thanks for all your work on EasyABC), RL

     

    Last edit: Rob L 2017-09-23
  • Andrew Bernard

    Andrew Bernard - 2018-04-17

    A complete newbie myself to EasyABC on Linux, I immediately hit this on Ubunti 16.04.4. The fix described works, and no Microsoft fonts are required.

    Should this be fixed in the distribution source code?

    So, thanks!

     

Log in to post a comment.