.. index:: single: character_set
.. _character_set/0:

.. rst-class:: right

**category**

``character_set``
=================

Shared implementation support category for character set objects.

| **Availability:** 
|    ``logtalk_load(character_sets(loader))``

| **Author:** Paulo Moura
| **Version:** 1:1:0
| **Date:** 2026-08-04

| **Compilation flags:**
|    ``static``


| **Implements:**
|    ``public`` :ref:`character_set_protocol <character_set_protocol/0>`

| **Remarks:**
|    (none)

| **Inherited public predicates:**
|     :ref:`character_set_protocol/0::alias/1`  :ref:`character_set_protocol/0::bytes_to_codes/2`  :ref:`character_set_protocol/0::codes_to_bytes/2`  :ref:`character_set_protocol/0::mibenum/1`  :ref:`character_set_protocol/0::name/1`  :ref:`character_set_protocol/0::preferred_mime_name/1`  

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

(no local declarations; see entity ancestors if any)

Protected predicates
--------------------

.. index:: valid_unicode_scalar/1
.. _character_set/0::valid_unicode_scalar/1:

``valid_unicode_scalar/1``
^^^^^^^^^^^^^^^^^^^^^^^^^^

True if the argument is a valid Unicode scalar value.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``valid_unicode_scalar(Code)``
| **Mode and number of proofs:**
|    ``valid_unicode_scalar(+integer)`` - ``zero_or_one``


------------

.. index:: continuation_byte/1
.. _character_set/0::continuation_byte/1:

``continuation_byte/1``
^^^^^^^^^^^^^^^^^^^^^^^

True if the argument is a valid UTF continuation byte.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``continuation_byte(Byte)``
| **Mode and number of proofs:**
|    ``continuation_byte(+integer)`` - ``zero_or_one``


------------

.. index:: high_surrogate/1
.. _character_set/0::high_surrogate/1:

``high_surrogate/1``
^^^^^^^^^^^^^^^^^^^^

True if the argument is a UTF-16 high surrogate code point.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``high_surrogate(Code)``
| **Mode and number of proofs:**
|    ``high_surrogate(+integer)`` - ``zero_or_one``


------------

.. index:: low_surrogate/1
.. _character_set/0::low_surrogate/1:

``low_surrogate/1``
^^^^^^^^^^^^^^^^^^^

True if the argument is a UTF-16 low surrogate code point.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``low_surrogate(Code)``
| **Mode and number of proofs:**
|    ``low_surrogate(+integer)`` - ``zero_or_one``


------------

.. index:: endian_order/2
.. _character_set/0::endian_order/2:

``endian_order/2``
^^^^^^^^^^^^^^^^^^

Maps a character set endian parameter to a byte order.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``endian_order(Endian,Order)``
| **Mode and number of proofs:**
|    ``endian_order(+atom,-atom)`` - ``one``


------------

Private predicates
------------------

(no local declarations; see entity ancestors if any)

Operators
---------

(none)

