Merge pull request #1048 from yurchor/master

Update Ukrainian translation
Fixed bSmallCaps() to use position_maps and actually work.

The SmallCaps() native scripting function as implemented was entirely
worthless except for transforming any glyph it was given into a
tangled mess at the baseline.  This was due to the fact that it did
not populate a complete genericchange structure with position maps and
a smallcaps structure.

This change enables minimal useful operation of SmallCaps() using the
same values as appear by default in the small caps dialog box in the UI.
fontforge, exelibfontforge, libfontforge maintain same version numbers.
Merge remote-tracking branch 'upstream/master'
Merge pull request #1050 from JoesCat/master

fontforge, exelibfontforge, libfontforge maintain same version numbers.
Added useful parameters to bSmallCaps().

Added four optional arguments to bSmallCaps:
      1. vertical scale
      2. horizontal scale
      3. vertical stem scale
      4. horizontal stem scale

These cover the most common needs without implementing the entire
range of parameters understood by FVAddSmallCaps.
Allow script filename to omit the extension if it is .ff or .pe.

When processing a call in the native scripting environment, and no
script or built-in function is found to match, look for a script
ending in the extension .ff or .pe.  This allows scripts to be used as
function calls without needing to specify the extension in the source.
Merge pull request #1049 from blipvert/fixes/18

Fixed bSmallCaps() to use position_maps and actually work.
Merge pull request #1051 from blipvert/fixes/19

Allow script filename to omit the extension if it is .ff or .pe.
Documented the SmallCaps() native scripting function.
Documented change to script search behavior.

Fontforge will now automatically find a script that ends in .ff or .pe
without needing to include that in the name of the call to the script.
Merge pull request #1052 from blipvert/fixes/18

Documented the SmallCaps() native scripting function.
Merge pull request #1053 from blipvert/fixes/19

Documented change to script search behavior.
Added useful optional arguments to bItalic().

The parameters are:
    1. Italic angle (as implemented previously).
    2. Italic xheight, as a fraction of the font xheight.
    3. Flags: an integer composed of the following bit values:
       * 0x0001 = Transform bottom serifs.
       * 0x0002 = Transform serifs at x-height.
       * 0x0004 = Transform serifs on ascenders.
       * 0x0008 = Transform diagonal serifs.
       * 0x0010 = Create italic a from the bottom half of italic d.
       * 0x0020 = Give italic f a long tail.
       * 0x0040 = Give italic f a hook.
       * 0x0080 = Remove serifs from descenders.
       * 0x0100 = Special handling for Cyrillic phi.
       * 0x0200 = Special handling for Cyrillic i.
       * 0x0400 = Special handling for Cyrillic pi.
       * 0x0800 = Special handling for Cyrillic te.
       * 0x1000 = Special handling for Cyrillic sha.
       * 0x2000 = Special handling for Cyrillic dje.
       * 0x4000 = Special handling for Cyrillic dzhe.
    4. Serif type: 1=flat, 2=simple slant, 3=complex slant.
    5. LSB change: left bearings will be multiplied by this factor.
    6. Stem width change: stem widths are multiplied by this factor.
    7. Counters change: counters will be multiplied by this factor.
    8. Stem width change for lowercase characters; defaults to #6.
    9. Counters change for lowercase characters; defaults to #7.
Documented the Italic() native scripting function.
Added scripting functions SelectGlyphsSplines, SelectGlyphsReferences

Added scripting functions SelectGlyphsSplines() and
SelectGlyphsReferences(), respectively for selecting glyphs with only
splines and only references.  (SelectGlyphsBoth was already present.)
These functions work similarly to the menu commands in the UI; they
take no arguments.
Added ChangeWeight native scripting function.

Added ChangeWeight() function for boldening and unboldening.  It takes
one argument which is the weight change in em units.  Positive values
make the selected glyphs bolder; negative values make them less bold.
Added "Class" parameter to GlyphInfo native scripting function.

GlyphInfo() may now be passed the string "Class" as its first
argument, and it will then return a string corresponding to the glyph
class of the selection, which will be one of "automatic", "none",
base", "ligature", "mark", "component", or "unknown".
Documented SelectGlyphsReferences and SelectGlyphsSplines.

Also added index entry for SelectGlyphsBoth which was missing.
Documented the ChangeWeight() native scripting function