Algorithm
---------

To make bold font
-----------------
To make bold font, right shifted data OR original data.
And pixels continue.

  A) original       oo  ooo o o  oo
  B) A shift right   oo  ooo o o  oo
  C) A OR B         ooo oooooooo ooo
                           ~~~~ <- continuous = bad readability

So reflect the data which note edges of the original data

  (method 1)
  A) original       oo  ooo o o  oo
  B) A left edge   ^   ^   ^ ^  ^
  C) A shift right   oo  ooo o o  oo
  D) A OR C         ooo oooooooo ooo
  E) D - B          ooo ooo o oo ooo
                           ~~~~ <- discontinuous = good readability
  (or, method 2)
  A) original       oo  ooo o o  oo
  B) A shift right   oo  ooo o o  oo
  C) B right edge      ^    ^ ^ ^   ^
  D) A OR B         ooo oooooooo ooo
  E) D - C          ooo oooo o o ooo
                           ~~~~ <- discontinuous = good readability

The edges make clear outline enhance readability like image editing.


To make slant font
-------------------
To make slant font, move to the place depend on height-axis position.

  A) original
        .@..
        @@..
        .@..
        .@..
        @@@.
        ....

  B) slanted
        #.@..
        #@@..
        #.@..
        .@..#
        @@@.#
        ....#

In some cases, we got bad result because of broken and joined line.

  A) original
        .@..
        @.@.
        ..@.
        .@..
        @@@.
        ....

  B) slanted
        #.@..
        #@.@.
        #..@. <- discontinuous = bad readability
        .@..# <-
        @@@.#
        ....#

This is not easily read because we don't think the glyph is similar.
So, correct the pixcels before the slanting.

  A) original
        .@..
        @.@.
        ..@.
        .@..
        @@@.
        ....

  A->B) replace with matching pattern
     pattern
        .@
        .@.
        @..
     is matched, so replace
        .@
        $.
        @..

  B) replaced
        .@..
        @.@.
        .$..
        .@..
        @@@.
        ....

  C) slanted
        #.@..
        #@.@.
        #.$.. <- continuous = good readability
        .@..# <-
        @@@.#
        ....#

And we got better glyph.
