code: public void decreaseFontSize() {
          // move INTO range if we have just moved OUT of upper virtual
          if (inRange() || (atMax() && atUpperBoundary())) {
              currentFontIndex--;
          } else if (atMin()) {
              lowerVirtualCount--;
          } else if (atMax() && inUpper()) {
              upperVirtualCount--;
          }
      }
docs: Move the font size pointer down. If this would move the pointer past
  the minimum font size, track this increase with a virtual size.