diff --git a/CHANGELOG.md b/CHANGELOG.md index dcd28d1cd..abdae2ca9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). ### Changed - When the clef and the first note are at a reasonable vertical distance, `shortspaceafterlineclef` is used instead of `spaceafterlineclef` (make them equal if you don't want this feature). This is used only on the first line, when there is an initial on one line. See [#1138](https://github.com/gregorio-project/gregorio/issues/1138). +- Very small improvement in the design of the porrectus auctus and torculus resupinus auctus (see [#1169](https://github.com/gregorio-project/gregorio/issues/1169)). ## [4.2.0-rc1] - 2016-05-31 ### Fixed diff --git a/fonts/greciliae-base.sfd b/fonts/greciliae-base.sfd index f1c20e7dc..6d59cfda5 100644 --- a/fonts/greciliae-base.sfd +++ b/fonts/greciliae-base.sfd @@ -4,23 +4,24 @@ FullName: greciliae FamilyName: greciliae Weight: Medium Copyright: Greciliae font\nCopyright (C) 2007 Matthew Spencer with Reserved Font Name "Caeciliae",\nCopyright (C) 2007-2016 The Gregorio Project (see CONTRIBUTORS.md)\nwith Reserved Font Name "Greciliae".\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\nThis license is also available with a FAQ at:\nhttp://scripts.sil.org/OFL -UComments: "2007-4-12: Created." +UComments: "2007-4-12: Created." Version: 1.2 ItalicAngle: 0 UnderlinePosition: -204 UnderlineWidth: 102 Ascent: 800 Descent: 200 +InvalidEm: 0 LayerCount: 2 -Layer: 0 0 "Back" 1 -Layer: 1 0 "Fore" 0 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Fore" 0 XUID: [1021 341 828717519 15204965] FSType: 0 OS2Version: 0 OS2_WeightWidthSlopeOnly: 0 OS2_UseTypoMetrics: 1 CreationTime: 1176402534 -ModificationTime: 1463055817 +ModificationTime: 1467120864 OS2TypoAscent: 0 OS2TypoAOffset: 1 OS2TypoDescent: 0 @@ -43,34 +44,34 @@ NameList: Adobe Glyph List DisplaySize: -96 AntiAlias: 1 FitToEm: 0 -WinInfo: 0 32 8 +WinInfo: 0 19 8 BeginPrivate: 0 EndPrivate Grid -1000 159 m 0 - 2000 159 l 0 + 2000 159 l 1024 -1000 194 m 0 - 2000 194 l 0 + 2000 194 l 1024 18 1300 m 0 - 18 -700 l 0 + 18 -700 l 1024 -1000 200 m 0 - 2000 200 l 0 + 2000 200 l 1024 147.812 1300 m 0 - 147.812 -700 l 0 + 147.812 -700 l 1024 166.375 1300 m 0 - 166.375 -700 l 0 + 166.375 -700 l 1024 -1000 302.758 m 0 - 2000 302.758 l 0 + 2000 302.758 l 1024 -1000 -57 m 0 - 2000 -57 l 0 + 2000 -57 l 1024 -1000 -173 m 0 - 2000 -173 l 0 + 2000 -173 l 1024 -1000 -166 m 0 - 2000 -166 l 0 + 2000 -166 l 1024 148 1300 m 0 - 148 -700 l 0 + 148 -700 l 1024 17.75 1300 m 0 - 17.75 -700 l 0 + 17.75 -700 l 1024 EndSplineSet TeXData: 1 0 0 346030 173015 115343 0 1048576 115343 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144 BeginChars: 187 187 @@ -789,74 +790,70 @@ StartChar: line2 Encoding: 30 -1 30 Width: 18 VWidth: 2048 -Flags: W +Flags: HW HStem: -12 158<0 18> VStem: 0 18<-12 146> LayerCount: 2 Fore SplineSet -0 -12 m 29 - 0 146 l 29 - 18 146 l 29 - 18 -12 l 29 - 0 -12 l 29 +0 -12 m 25 + 0 176 l 29 + 18 176 l 29 + 18 -12 l 25 + 0 -12 l 25 EndSplineSet -Validated: 1 EndChar StartChar: line3 Encoding: 31 -1 31 Width: 18 VWidth: 2048 -Flags: W +Flags: HW HStem: -12 312<0 18> VStem: 0 18<-12 300> LayerCount: 2 Fore SplineSet 0 -12 m 25 - 0 300 l 25 - 18 300 l 25 + 0 330 l 29 + 18 330 l 29 18 -12 l 25 0 -12 l 25 EndSplineSet -Validated: 1 EndChar StartChar: line4 Encoding: 32 -1 32 Width: 18 VWidth: 2048 -Flags: W +Flags: HW VStem: 0 18<-12 443> LayerCount: 2 Fore SplineSet 0 -12 m 25 - 0 443 l 29 - 18 443 l 29 + 0 473 l 29 + 18 473 l 29 18 -12 l 25 0 -12 l 25 EndSplineSet -Validated: 1 EndChar StartChar: line5 Encoding: 33 -1 33 Width: 18 VWidth: 2048 -Flags: W +Flags: HWO VStem: 0 18<-12 605> LayerCount: 2 Fore SplineSet 0 -12 m 25 - 0 605 l 29 - 18 605 l 29 + 0 635 l 29 + 18 635 l 29 18 -12 l 25 0 -12 l 25 EndSplineSet -Validated: 1 EndChar StartChar: QuilismaLineTR diff --git a/fonts/squarize.py b/fonts/squarize.py index d7d668891..894d04851 100644 --- a/fonts/squarize.py +++ b/fonts/squarize.py @@ -1966,8 +1966,12 @@ def write_porrectus(i, j, last_glyph, shape, lique=L_NOTHING, qtype=None): if j == 1 and glyph_exists("porrectusam1%d" % i): first_glyph = "porrectusam1%d" % i if last_glyph == 'auctusa2' or last_glyph == 'PunctumAuctusLineBL' or last_glyph == '': - if j == 1 and last_glyph == '': + if j == 1: first_glyph = "porrectusflexusnb%d" % i + if last_glyph == 'auctusa2': + last_glyph = 'PunctumAscendens' + elif last_glyph == 'PunctumAuctusLineBL': + last_glyph = 'PunctumDescendens' else: first_glyph = "porrectusflexus%d" % i if not glyph_exists(first_glyph): @@ -1984,8 +1988,10 @@ def write_porrectus(i, j, last_glyph, shape, lique=L_NOTHING, qtype=None): length = length+get_width('line2') paste_and_move(last_glyph, (length-get_width(last_glyph)), (j-i)*FONT_CONFIG['base height']) - elif last_glyph == 'auctusa2' or last_glyph == 'PunctumAuctusLineBL': - paste_and_move(last_glyph, (length), (j-i)*FONT_CONFIG['base height']) + elif last_glyph == 'auctusa2' or last_glyph == 'PunctumAuctusLineBL' or last_glyph == 'PunctumAscendens' or last_glyph == 'PunctumDescendens': + if j==1: + length = length+get_width('line2') + paste_and_move(last_glyph, length, (j-i)*FONT_CONFIG['base height']) length = length + get_width(last_glyph) elif last_glyph != '': paste_and_move(last_glyph, @@ -2432,6 +2438,12 @@ def write_torculusresupinus(i, j, k, first_glyph, last_glyph, shape, middle_glyph = "porrectusam1%d" % j if last_glyph == 'auctusa2' or last_glyph == 'PunctumAuctusLineBL': middle_glyph = "porrectusflexus%d" % j + if k == 1: + middle_glyph = "porrectusflexusnb%d" % j + if last_glyph == 'auctusa2': + last_glyph = 'PunctumAscendens' + elif last_glyph == 'PunctumAuctusLineBL': + last_glyph = 'PunctumDescendens' if not glyph_exists(middle_glyph): return if i == 1 and first_glyph != 'idebilis': @@ -2454,9 +2466,11 @@ def write_torculusresupinus(i, j, k, first_glyph, last_glyph, shape, paste_and_move(last_glyph, (length-get_width('rdeminutus')), (i-j+k)*FONT_CONFIG['base height']) - elif last_glyph == 'auctusa2' or last_glyph == 'PunctumAuctusLineBL': - paste_and_move(last_glyph, (length-get_width('line2')), (i-j+k)*FONT_CONFIG['base height']) - length = length - get_width('line2') + get_width(last_glyph) + elif last_glyph == 'auctusa2' or last_glyph == 'PunctumAuctusLineBL' or last_glyph == 'PunctumAscendens' or last_glyph == 'PunctumDescendens': + if k>1: + length = length-get_width('line2') + paste_and_move(last_glyph, length, (i-j+k)*FONT_CONFIG['base height']) + length = length + get_width(last_glyph) else: paste_and_move(last_glyph, (length-get_width(last_glyph)), (i-j+k)*FONT_CONFIG['base height'])