# Typography Class

The Typography Class provides methods that help you format text.

- Using the Typography Class
  - Initializing the Class
- Class Reference

## Using the Typography Class

### Initializing the Class

Like most other classes in CodeIgniter, the Typography class is initialized in your controller using the `$this->load->library()` method:

    $this->load->library('typography');

Once loaded, the Typography library object will be available using:

    $this->typography

## Class Reference

class `CI_Typography`
  `$protect_braced_quotes = FALSE`

    When using the Typography library in conjunction with the Template Parser library it can often be desirable to protect single and double quotes within curly braces. To enable this, set the `protect_braced_quotes` class property to TRUE.

    Usage example:

        $this->load->library('typography');
        $this->typography->protect_braced_quotes = TRUE;

  `format_characters`($str)

    Parameters: | $str (string) – Input string
    Returns: | Formatted string
    Return type: | string

    This method is similar to `auto_typography()` above, except that it only does character conversion:

    > - Quotes are converted to correctly facing curly quote entities, except those that appear within tags.
    > - Apostrophes are converted to curly apostrophe entities.
    > - Double dashes (either like – this or like–this) are converted to em—dashes.
    > - Three consecutive periods either preceding or following a word are converted to ellipsis (…).
    > - Double spaces following sentences are converted to non-breaking spaces to mimic double spacing.

    Usage example:

        $string = $this->typography->format_characters($string);

  `nl2br_except_pre`($str)

    Parameters: | $str (string) – Input string
    Returns: | Formatted string
    Return type: | string

    Converts newlines to <br /> tags unless they appear within <pre> tags. This method is identical to the native PHP `nl2br()` function, except that it ignores <pre> tags.

    Usage example:

        $string = $this->typography->nl2br_except_pre($string);