code: @Override
      public void render(final String word, BufferedImage image) {
          Graphics2D g = image.createGraphics();
  
          RenderingHints hints = new RenderingHints(
                  RenderingHints.KEY_ANTIALIASING,
                  RenderingHints.VALUE_ANTIALIAS_ON);
          hints.add(new RenderingHints(RenderingHints.KEY_RENDERING,
                  RenderingHints.VALUE_RENDER_QUALITY));
          g.setRenderingHints(hints);
  
          FontRenderContext frc = g.getFontRenderContext();
          int xBaseline = (int) Math.round(image.getWidth() * XOFFSET);
          int yBaseline = image.getHeight() - (int) Math.round(image.getHeight() * YOFFSET);
  
          char[] chars = new char[1];
          for (char c : word.toCharArray()) {
              chars[0] = c;
  
              g.setColor(_colors.get(RAND.nextInt(_colors.size())));
  
              int choiceFont = RAND.nextInt(_fonts.size());
              Font font = _fonts.get(choiceFont);
              g.setFont(font);
  
              GlyphVector gv = font.createGlyphVector(frc, chars);
              g.drawChars(chars, 0, chars.length, xBaseline, yBaseline);
  
              int width = (int) gv.getVisualBounds().getWidth();
              xBaseline = xBaseline + width;
          }
      }
docs: {@inheritDoc}
  
  Render a word onto a BufferedImage.