Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 310 and 311] [Versions 39 and 311]

   1  <?php
   2  
   3  namespace Box\Spout\Writer\ODS\Manager\Style;
   4  
   5  use Box\Spout\Common\Entity\Style\Style;
   6  
   7  /**
   8   * Class StyleRegistry
   9   * Registry for all used styles
  10   */
  11  class StyleRegistry extends \Box\Spout\Writer\Common\Manager\Style\StyleRegistry
  12  {
  13      /** @var array [FONT_NAME] => [] Map whose keys contain all the fonts used */
  14      protected $usedFontsSet = [];
  15  
  16      /**
  17       * Registers the given style as a used style.
  18       * Duplicate styles won't be registered more than once.
  19       *
  20       * @param Style $style The style to be registered
  21       * @return Style The registered style, updated with an internal ID.
  22       */
  23      public function registerStyle(Style $style)
  24      {
  25          if ($style->isRegistered()) {
  26              return $style;
  27          }
  28  
  29          $registeredStyle = parent::registerStyle($style);
  30          $this->usedFontsSet[$style->getFontName()] = true;
  31  
  32          return $registeredStyle;
  33      }
  34  
  35      /**
  36       * @return string[] List of used fonts name
  37       */
  38      public function getUsedFonts()
  39      {
  40          return \array_keys($this->usedFontsSet);
  41      }
  42  }