private void drawIntDigits(
      LowLevelRenderer renderer,
      int value,
      int digitsNo,
      int decimalSize,
      int x,
      int y,
      boolean leftPadded) {
    int currentX = x;
    int div = pow(10, digitsNo - 1);

    for (int i = 0; i < digitsNo; i++) {
      if (decimalSize > 0 && digitsNo - i == decimalSize) {
        currentX += digitsRenderer.renderDecimalSeparator(renderer, currentX, y) + digitSpace;
      }
      int scaledVal = value / div;
      int digit = scaledVal % 10;
      boolean drawZeroValue = leftPadded || (digitsNo - i - 1 <= decimalSize);
      currentX +=
          digitsRenderer.renderDigit(
                  renderer, digit, currentX, y, true, scaledVal > 0 || drawZeroValue || div == 1)
              + digitSpace;
      div = div / 10;
    }
  }
 private void drawOneStartingIntDigits(
     LowLevelRenderer renderer, int value, int digitsNo, int decimalSize, int x, int y) {
   int div = pow(10, digitsNo - 1);
   if (value >= div) {
     x += digitsRenderer.renderDigit(renderer, 1, x, y, false, false) + digitSpace;
   }
   drawIntDigits(renderer, value, digitsNo - 1, decimalSize, x, y, false);
 }