Adding OpenType features: Long GSUB Strings

Get help with FontCreator here. Please do not post feature requests or bug reports here.
William
Top Typographer
Top Typographer
Posts: 1998
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Re: Adding OpenType features: Long GSUB Strings

Post by William » Fri May 24, 2013 5:01 pm

Alfred wrote:
William wrote:I have now made a font Ligatures 006 with the following OpenType code.

Code: Select all

script latn { 
    feature DiscretionaryLigatures;
    feature Ligatures;
}

feature DiscretionaryLigatures dlig {
    lookup dligSub;
}  

lookup dligSub {
    sub c t -> c_t;
    sub s h -> s_h;
    sub s t -> s_t;
    sub colon colon one zero zero one six colon semicolon -> ls10016;
    sub colon colon one zero zero one seven colon semicolon -> ls10017;
}

feature Ligatures liga {
    lookup ligaSub;
}

lookup ligaSub {
    sub f f i -> f_f_i;
    sub f f l -> f_f_l;
    sub f f -> f_f;
    sub f i -> fi;
    sub f j -> f_j;
    sub f l -> fl;
    sub d a -> d_a;
    sub longs t -> longs_t;
    sub colon colon -> lsmbob;
    sub colon semicolon -> lsmbcb;
}

My copy of Ligatures 004 seems to lack a glyph for the 'sh' ligature. Have you added some new glyphs since then?
Thank you for your interest.

Yes, I added the sh ligature because I did not have an sp ligature that was in the High-Logic default template code from which I started, so I changed it.

Here is the font.
Ligatures 006.otf
(20.27 KiB) Downloaded 182 times
I got the sh ligature glyph from my Sonnet to a Renaissance Lady font that is available from its own thread in the Gallery section of this forum.

viewtopic.php?f=10&t=1476

Most of the glyphs in the Ligatures 006 font all come from either the Sonnet to a Renaissance Lady font or from the Localizable Sentences 034 font. The exception is that I made the da ligature specially. This is because I wanted a non-standard ligature to test the font in PagePlus X5.

viewtopic.php?p=18770#p18770

There is a list of ligature code points that I devised some years ago.

http://www.users.globalnet.co.uk/~ngo/golden.htm

The basic characters for the series of Localizable Sentences fonts all came from the Sonnet to a Renaissance Lady font some years ago..

William

William
Top Typographer
Top Typographer
Posts: 1998
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Re: Adding OpenType features: Long GSUB Strings

Post by William » Fri May 24, 2013 5:18 pm

Bhikkhu Pesala wrote:A quick tip for changing the order of precedence of features.
That is interesting. I had not realized that the font can change the order of precedence.

Thank you.

William

Alfred
Top Typographer
Top Typographer
Posts: 1028
Joined: Thu Apr 18, 2013 8:08 am

Re: Adding OpenType features: Long GSUB Strings

Post by Alfred » Fri May 24, 2013 9:22 pm

William wrote:
Alfred wrote:My copy of Ligatures 004 seems to lack a glyph for the 'sh' ligature. Have you added some new glyphs since then?
Thank you for your interest.

Yes, I added the sh ligature because I did not have an sp ligature that was in the High-Logic default template code from which I started, so I changed it.

Here is the font.
Ligatures 006.otf
Thank you. I have downloaded the new font and shall have a play with it.
FC11.5 Pro (Help) + MT8.0 Pro (Help) • Windows 10

William
Top Typographer
Top Typographer
Posts: 1998
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Re: Adding OpenType features: Long GSUB Strings

Post by William » Sat May 25, 2013 12:01 pm

An experiment that I tried when testing the Ligatures 006 font was as follows.

Install the Ligatures 006 font. I used a temporary installation by double clicking on the file name of the font in Windows Explorer, the font not being in the fonts directory.

Open PagePlus X5.

Start a new publication using A4 landscape.

Draw a large text frame.

Go to 100% magnification.

Click in the text frame and type the word test.

Highlight the word test and format it to the font Ligatures 006 at 24 point.

Keeping the word test highlighted, use Format Character to open the dialogue panel.

Click on the + sign that is to the left of the word OpenType.

Click on the word Details.

Add a tick to the checkbox that is to the left of the word dlig, by clicking on the checkbox.

Add a tick to the checkbox that is to the left of the word liga, by clicking on the checkbox.

Click OK.

Note that the word test now has an st ligature glyph in it.

Click immediately to the right of the word test.

Press the spacebar.

Slowly key the following characters, one at a time, observing what happens to the display.

::10016:;

That is, colon colon one zero zero one six colon semicolon. This note is just because the colons and the semicolon may not be displayed that clearly in this forum post.

The interesting thing is that after the colon colon, the glyph for the localizable sentence markup bubble opening bracket is displayed, but that substitution does not stop the later substitution for the whole nine character sequence.

----

Please open the file glyphnames.dat in WordPad.

----

Considering all of this, I thought of the following possibility.

Suppose that, hypothetically, PagePlus had an extra checkbox for an OpenType table that has precedence over dlig.

Suppose, however, that that table is not a table supplied by a font but is a table in a .dat file supplied with PagePlus.

Suppose further that that table is not in the same format as a dlig table but is in a format such that one example line is as follows.

::10016:; The following question has been asked.

If the checkbox for using that table were checked, then when the sequence ::10016:; were detected, the text after the first space on the line would be used to replace the ::10016:: in the display.

Now, as the OpenType system would simply be replacing ::10016:; by whatever text was on the line after the first space, the text in the file could be in any chosen language.

----

The system would be updateable when more sentences were published in a standards document by updating just the .dat file.

Now, although I have done some scientific programming I do not know how to implement the above idea myself, so I do not know how straightforward or difficult it would be for an expert programmer with the specific skills and knowledge of both programming and OpenType software to implement the above idea.

If any reader tries the experiment using a software application other than PagePlus X5, it would be helpful if he or she could please post the results of the experiment in this thread.

William Overington

25 May 2013

William
Top Typographer
Top Typographer
Posts: 1998
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Re: Adding OpenType features: Long GSUB Strings

Post by William » Tue Nov 19, 2013 8:16 am

This morning I have made a test font using what I have learned in this thread, what I have learned in the following thread and trying some of the glyphs that I made yesterday.

viewtopic.php?f=3&t=4450

It works well in Serif PagePlus X5.
Ligatures_006_plus_aalt.otf
(20.97 KiB) Downloaded 139 times

Code: Select all

script latn { 
    feature DiscretionaryLigatures;
    feature Ligatures;
    feature AccessAllAlternates;
}

feature DiscretionaryLigatures dlig {
    lookup dligSub;
}  

lookup dligSub {
    sub c t -> c_t;
    sub s h -> s_h;
    sub s t -> s_t;
    sub colon colon one zero zero one six colon semicolon -> ls10016;
    sub colon colon one zero zero one seven colon semicolon -> ls10017;
}

feature Ligatures liga {
    lookup ligaSub;
}

lookup ligaSub {
    sub f f i -> f_f_i;
    sub f f l -> f_f_l;
    sub f f -> f_f;
    sub f i -> fi;
    sub f j -> f_j;
    sub f l -> fl;
    sub d a -> d_a;
    sub longs t -> longs_t;
    sub colon colon -> lsmbob;
    sub colon semicolon -> lsmbcb;
}

feature AccessAllAlternates aalt {
    lookup AccessAllAlternates;
}

lookup AccessAllAlternates {
    sub ls10016 -> [ls10016.alt];
    sub ls10017 -> [ls10017.alt];
}

William Overington

19 November 2013

León Fridsma
Posts: 694
Joined: Mon Dec 07, 2009 10:26 am
Location: De Bilt, Netherlands
Contact:

Re: Adding OpenType features: Long GSUB Strings

Post by León Fridsma » Thu Nov 21, 2013 9:38 am

I can kinda see what you are doing, but the Access All Alternates (aalt) is not supposed to be used as a regular feature. It's meant to be used as an alternative access to substitutes that would not be accessible for features that are not supported by the host application. See http://www.microsoft.com/typography/ots ... e.htm#aalt for more info about aalt. You'd be better of using 'salt' or 'calt'.

William
Top Typographer
Top Typographer
Posts: 1998
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Re: Adding OpenType features: Long GSUB Strings

Post by William » Fri Nov 22, 2013 8:19 am

Thank you.

I will try to make another font using salt instead of aalt.

William Overington

22 November 2013

William
Top Typographer
Top Typographer
Posts: 1998
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Re: Adding OpenType features: Long GSUB Strings

Post by William » Fri Nov 22, 2013 8:47 am

Here is the font.
Ligatures_006_plus_salt.otf
(20.97 KiB) Downloaded 128 times
It works well in Serif PagePlus X5.

http://www.microsoft.com/typography/ots ... t.htm#salt

Code: Select all

script latn { 
    feature DiscretionaryLigatures;
    feature Ligatures;
    feature StylisticAlternates;
}

feature DiscretionaryLigatures dlig {
    lookup dligSub;
}  

lookup dligSub {
    sub c t -> c_t;
    sub s h -> s_h;
    sub s t -> s_t;
    sub colon colon one zero zero one six colon semicolon -> ls10016;
    sub colon colon one zero zero one seven colon semicolon -> ls10017;
}

feature Ligatures liga {
    lookup ligaSub;
}

lookup ligaSub {
    sub f f i -> f_f_i;
    sub f f l -> f_f_l;
    sub f f -> f_f;
    sub f i -> fi;
    sub f j -> f_j;
    sub f l -> fl;
    sub d a -> d_a;
    sub longs t -> longs_t;
    sub colon colon -> lsmbob;
    sub colon semicolon -> lsmbcb;
}

feature StylisticAlternates salt {
    lookup StylisticAlternates;
}

lookup StylisticAlternates {
    sub ls10016 -> [ls10016.alt];
    sub ls10017 -> [ls10017.alt];
}
William Overington

22 November 2013

William
Top Typographer
Top Typographer
Posts: 1998
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Re: Adding OpenType features: Long GSUB Strings

Post by William » Mon Feb 17, 2014 2:30 pm

William wrote: Considering all of this, I thought of the following possibility.
There is a new research publication.

viewtopic.php?p=21029#p21029

William Overington

17 February 2014

Post Reply