Pango.Script.get_sample_language
Description: Reference for Pango.Script.get_sample_language

### Function

# Pango Scriptget_sample_language

#### Declaration [src]

    PangoLanguage*
    pango_script_get_sample_language (
      PangoScript script
    )

#### Description [src]

Finds a language tag that is reasonably representative of `script`.

The language will usually be the most widely spoken or used language written in that script: for instance, the sample language for `PANGO_SCRIPT_CYRILLIC` is ru (Russian), the sample language for `PANGO_SCRIPT_ARABIC` is ar.

For some scripts, no sample language will be returned because there is no language that is sufficiently representative. The best example of this is `PANGO_SCRIPT_HAN`, where various different variants of written Chinese, Japanese, and Korean all use significantly different sets of Han characters and forms of shared characters. No sample language can be provided for many historical scripts as well.

As of 1.18, this function checks the environment variables `PANGO_LANGUAGE` and `LANGUAGE` (checked in that order) first. If one of them is set, it is parsed as a list of language tags separated by colons or other separators. This function will return the first language in the parsed list that Pango believes may use `script` for writing. This last predicate is tested using `pango_language_includes_script()`. This can be used to control Pango’s font selection for non-primary languages. For example, a `PANGO_LANGUAGE` enviroment variable set to “en:fa” makes Pango choose fonts suitable for Persian (fa) instead of Arabic (ar) when a segment of Arabic text is found in an otherwise non-Arabic text. The same trick can be used to choose a default language for `PANGO_SCRIPT_HAN` when setting context language is not feasible.

Available since: | 1.4

#### Parameters

`script` | `PangoScript`
| A `PangoScript`

#### Return value

Returns: | `PangoLanguage`
| A `PangoLanguage` that is representative of the script.
| The caller of the function takes ownership of the data, and is responsible for freeing it.
| The return value can be `NULL`.