Blob Blame History Raw
Table of Contents
*****************

CentOS Artwork Repository
1 branches
2 tags
3 trunk
  3.1 trunk/Identity
    3.1.1 Goals
    3.1.2 Description
    3.1.3 Usage
    3.1.4 Renderable directories
      3.1.4.1 Layout 1: Simple image rendering
      3.1.4.2 Layout 2: Simple image rendering (extended)
      3.1.4.3 Layout 3: Language specific image rendering
      3.1.4.4 Layout 4: Release and language specific image rendering
      3.1.4.5 Layout 5: Brands specific image rendering
      3.1.4.6 Layout 6: Themes specific image rendering
    3.1.5 File name convenctions
      3.1.5.1 When text-based files are rendered
      3.1.5.2 When image-based files are rendered
    3.1.6 See also
    3.1.7 References
  3.2 trunk/Identity/Brands
    3.2.1 Goals
    3.2.2 Description
    3.2.3 Usage
    3.2.4 See also
  3.3 trunk/Identity/Fonts
    3.3.1 Goals
    3.3.2 Description
    3.3.3 Usage
    3.3.4 See also
  3.4 trunk/Identity/Icons
    3.4.1 Goals
    3.4.2 Description
    3.4.3 Usage
    3.4.4 See also
  3.5 trunk/Identity/Isolinux
    3.5.1 Goals
    3.5.2 Description
    3.5.3 Usage
    3.5.4 See also
  3.6 trunk/Identity/Models
    3.6.1 Goals
    3.6.2 Description
    3.6.3 Usage
    3.6.4 See also
  3.7 trunk/Identity/Release
    3.7.1 Goals
    3.7.2 Description
    3.7.3 Usage
    3.7.4 See also
  3.8 trunk/Identity/Themes
    3.8.1 Goals
    3.8.2 Description
    3.8.3 Usage
    3.8.4 See also
  3.9 trunk/Identity/Themes/Models
    3.9.1 Goals
    3.9.2 Description
    3.9.3 Usage
    3.9.4 See also
  3.10 trunk/Identity/Themes/Models/Alternative
    3.10.1 Goals
    3.10.2 Description
    3.10.3 Usage
    3.10.4 See also
  3.11 trunk/Identity/Themes/Models/Default
    3.11.1 Goals
    3.11.2 Description
    3.11.3 Usage
    3.11.4 See also
  3.12 trunk/Identity/Themes/Models/Default/Distro
    3.12.1 Goals
    3.12.2 Description
      3.12.2.1 One theme for all major releases
      3.12.2.2 One theme for each major release
    3.12.3 Usage
    3.12.4 See also
  3.13 trunk/Identity/Themes/Models/Default/Distro/Anaconda
    3.13.1 Goals
    3.13.2 Description
    3.13.3 Usage
    3.13.4 See also
  3.14 trunk/Identity/Themes/Models/Default/Promo
    3.14.1 Goals
    3.14.2 Description
    3.14.3 Usage
    3.14.4 See also
  3.15 trunk/Identity/Themes/Models/Default/Web
    3.15.1 Goals
    3.15.2 Description
    3.15.3 Usage
    3.15.4 See also
  3.16 trunk/Identity/Themes/Motifs
    3.16.1 Goals
    3.16.2 Description
    3.16.3 Usage
    3.16.4 See also
  3.17 trunk/Identity/Themes/Motifs/Modern/Backgrounds
    3.17.1 Goals
    3.17.2 Description
    3.17.3 Usage
    3.17.4 See also
  3.18 trunk/Identity/Themes/Motifs/Modern/Backgrounds/Img
    3.18.1 Goals
    3.18.2 Description
    3.18.3 Usage
    3.18.4 See also
  3.19 trunk/Identity/Themes/Motifs/Modern/Backgrounds/Tpl
    3.19.1 Goals
    3.19.2 Description
    3.19.3 Usage
    3.19.4 See also
  3.20 trunk/Identity/Themes/Motifs/Modern/Backgrounds/Xcf
    3.20.1 Goals
    3.20.2 Description
    3.20.3 Usage
    3.20.4 See also
  3.21 trunk/Identity/Themes/Motifs/Modern/Distro/Anaconda/Progress
    3.21.1 Goals
    3.21.2 Description
    3.21.3 Usage
    3.21.4 See also
  3.22 trunk/Identity/Themes/Motifs/Modern/Palettes
    3.22.1 Goals
    3.22.2 Description
    3.22.3 Usage
    3.22.4 See also
  3.23 trunk/Identity/Themes/Motifs/TreeFlower
    3.23.1 Goals
    3.23.2 Description
    3.23.3 Usage
    3.23.4 See also
  3.24 trunk/Identity/Widgets
    3.24.1 Goals
    3.24.2 Description
    3.24.3 Usage
    3.24.4 See also
  3.25 trunk/Manuals
    3.25.1 Goals
    3.25.2 Description
    3.25.3 Usage
    3.25.4 See also
  3.26 trunk/Scripts
    3.26.1 Goals
    3.26.2 Description
    3.26.3 Usage
    3.26.4 See also
  3.27 trunk/Scripts/Bash
    3.27.1 Goals
    3.27.2 Description
      3.27.2.1 The identity matching list
      3.27.2.2 Adding new features
    3.27.3 Usage
      3.27.3.1 The `centos-art' `check' action
      3.27.3.2 The `centos-art' `search' action
      3.27.3.3 The `centos-art' `path' action
      3.27.3.4 The `centos-art' `locale-art' action
      3.27.3.5 The `centos-art' `license' action
    3.27.4 See also
  3.28 trunk/Scripts/Bash/Config
    3.28.1 Goals
    3.28.2 Description
      3.28.2.1 The `render.conf.sh' identity model
      3.28.2.2 The `render.conf.sh' translation model
    3.28.3 Usage
    3.28.4 See also
  3.29 trunk/Scripts/Bash/Config/Identity
    3.29.1 Goals
    3.29.2 Description
    3.29.3 Usage
    3.29.4 See also
  3.30 trunk/Scripts/Bash/Config/Translations
    3.30.1 Goals
    3.30.2 Description
    3.30.3 Usage
    3.30.4 See also
  3.31 trunk/Scripts/Bash/Functions
    3.31.1 Goals
    3.31.2 Description
    3.31.3 Usage
    3.31.4 See also
  3.32 trunk/Scripts/Bash/Functions/Config
    3.32.1 Goals
    3.32.2 Description
    3.32.3 Usage
    3.32.4 See also
  3.33 trunk/Scripts/Bash/Functions/Config/cli_getActionsIdentity.sh
    3.33.1 Goals
    3.33.2 Description
    3.33.3 Usage
    3.33.4 See also
  3.34 trunk/Scripts/Bash/Functions/Config/cli_getActions.sh
    3.34.1 Goals
    3.34.2 Description
    3.34.3 Usage
    3.34.4 See also
  3.35 trunk/Scripts/Bash/Functions/Config/cli_getActionsTranslations.sh
    3.35.1 Goals
    3.35.2 Description
    3.35.3 Usage
    3.35.4 See also
  3.36 trunk/Scripts/Bash/Functions/Config/cli_getIdentityMatchinglist.sh
    3.36.1 Goals
    3.36.2 Description
    3.36.3 Usage
    3.36.4 See also
  3.37 trunk/Scripts/Bash/Functions/Config/repo_renderIdentitySyslinux.sh
    3.37.1 Goals
    3.37.2 Description
    3.37.3 Usage
    3.37.4 See also
  3.38 trunk/Scripts/Bash/Locale
    3.38.1 Goals
    3.38.2 Description
      3.38.2.1 Configuration files
    3.38.3 Usage
      3.38.3.1 The `centos-art' `locale-cli' action
    3.38.4 See also
  3.39 trunk/Scripts/Perl
    3.39.1 Goals
    3.39.2 Description
    3.39.3 Usage
    3.39.4 See also
  3.40 trunk/Scripts/Python
    3.40.1 Goals
    3.40.2 Description
    3.40.3 Usage
    3.40.4 See also
  3.41 trunk/Translations
    3.41.1 Goals
    3.41.2 Description
      3.41.2.1 Translation Entries
      3.41.2.2 Translation Markers
      3.41.2.3 Translation Files
      3.41.2.4 Template Translation Files
      3.41.2.5 Common Translation Files
      3.41.2.6 Specific Translation Files
      3.41.2.7 Translation Rendering
      3.41.2.8 Translation (Pre-)Rendering Configuration Scripts
      3.41.2.9 Translation Rendering Default Functionality
    3.41.3 Usage
    3.41.4 See also
  3.42 trunk/Translations/Identity
    3.42.1 Goals
    3.42.2 Description
    3.42.3 Usage
    3.42.4 See also
  3.43 trunk/Translations/Identity/Brands
    3.43.1 Goals
    3.43.2 Description
      3.43.2.1 Conventional file names
      3.43.2.2 Numeric file names
      3.43.2.3 Translation markers
    3.43.3 Usage
    3.43.4 See also
  3.44 trunk/Translations/Identity/Brands/Tpl
    3.44.1 Goals
    3.44.2 Description
    3.44.3 Usage
    3.44.4 See also
  3.45 trunk/Translations/Identity/Fonts
    3.45.1 Goals
    3.45.2 Description
      3.45.2.1 Translation Markers
    3.45.3 Usage
    3.45.4 See also
  3.46 trunk/Translations/Identity/Models
    3.46.1 Goals
    3.46.2 Description
    3.46.3 Usage
    3.46.4 See also
  3.47 trunk/Translations/Identity/Release
    3.47.1 Goals
    3.47.2 Description
    3.47.3 Usage
    3.47.4 See also
  3.48 trunk/Translations/Identity/Themes
    3.48.1 Goals
    3.48.2 Description
    3.48.3 Usage
    3.48.4 See also
  3.49 trunk/Translations/Identity/Themes/Backgrounds
    3.49.1 Goals
    3.49.2 Description
    3.49.3 Usage
    3.49.4 See also
  3.50 trunk/Translations/Identity/Themes/Distro/Anaconda/Progress
    3.50.1 Goals
    3.50.2 Description
    3.50.3 Usage
    3.50.4 See also
  3.51 trunk/Translations/Identity/Widgets
    3.51.1 Goals
    3.51.2 Description
    3.51.3 Usage
    3.51.4 See also
Index
List of Figures


CentOS Artwork Repository
*************************

This manual describes what the CentOS Artwork Repository is and what
can you do inside it.

   Copyright (C) 2009, 2010 CentOS Artwork SIG. All rights reserved.

   Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled GNU Free
Documentation License.

1 branches
**********

2 tags
******

3 trunk
*******

3.1 trunk/Identity
==================

3.1.1 Goals
-----------

The `trunk/Identity' directory exists to organize CentOS corporate
identity artworks.

3.1.2 Description
-----------------

The CentOS Project corporate identity is the "persona" of the
organization known as The CentOS Project.  The CentOS Project corporate
identity plays a significant role in the way the CentOS Project, as
organization, presents itself to both internal and external
stakeholders. In general terms, the CentOS Project corporate visual
identity expresses the values and ambitions of the CentOS Project
organization, its business, and its characteristics.

   The CentOS Project corporate identity provides visibility,
recognizability, reputation, structure and identification to the CentOS
Project organization by means of corporate design, corporate
communication, and corporate behaviour.

   The CentOS Project settles down its corporate visual identity on a
"monolithic corporate visual identity structure". In this structure The
CentOS Project uses one unique name (The CentOS Brand) and one unique
visual style (The CentOS Default Theme) in all its manifestations.

*The CentOS Brands*
     The CentOS brand is the name or trademark that conncects the
     producer with their products. In this case, the producer is The
     CentOS Project and the products are the CentOS distributions, the
     CentOS web sites, the CentOS promotion stuff, etc.

     *Note trunk Identity Brands::, for more information.

*The CentOS Themes*
     The CentOS themes are a set of image files connected by one unique
     visual style. The CentOS themes implements CentOS project corporate
     visual identity in each visual manifestation of CentOS project
     (e.g., distributions, websites, promotion stuff, etc.).

     *Note trunk Identity Themes::, for more information.

   Inside a monolithic corporate visual identity structure, internal and
external stakeholders use to feel a strong sensation of uniformity,
orientation, and identification with the organization. No matter if you
are visiting websites, using the distribution, or acting on social
events, the one unique name and one unique visual style conect them all
to say: Hey! we are all parts of the CentOS project.  And, probably,
some vister will say: Can I join the party?  Yes you can, it is free. :)

3.1.3 Usage
-----------

To produce identity artworks, use the following commands:

`centos-art render 'path/to/dir''
     When `path/to/dir' refers to one renderable directory under
     `trunk/Identity', this command renders identity artworks using
     both related design models and related translation files.

`centos-art render 'path/to/dir' --filter='pattern''
     When `path/to/dir' refers to one renderable directory under
     `trunk/Identity', this command renders identity artworks using
     both related design models and related translation files that match
     the regular expression passed in `--filter='pattern'' argument.

     To control the number of files produced by `centos-art' command,
     you need to look into the translation path and provide a regular
     expression pattern that matches the translation path, or paths,
     related to the file, or files, you want to produce.

     The regular expression pattern you provide to `centos-art' command
     is applied to the translation path from its very beginning.  It is
     not the same to say `5/en/01-welcome' that `01-welcome', the frist
     expression matches but the last one does not.

     When using `--filter='pattern'' you don't need to specify the file
     extension. It is removed from translation path before applying the
     pattern, so it doesn't count here.

3.1.4 Renderable directories
----------------------------

Inside `trunk/Identity', renderable directories should have one of the
following directory layouts:

3.1.4.1 Layout 1: Simple image rendering
........................................

This directory layout contains one `Img/' directory (to store final
images), one `Tpl/' directory to store design templates, and the
translation entry is empty (there isn't translation files in this
configuration).  In this configuration, one design template produces
one untranslated PNG image, just as it is in the template.


trunk/Identity/path/to/dir
|-- Img
|   |-- anaconda_header_fig1.png
|   |-- anaconda_header_fig2.png
|   `-- anaconda_header_summary.png
`-- Tpl
    |-- anaconda_header_fig1.svg
    |-- anaconda_header_fig2.svg
    `-- anaconda_header_summary.svg

3.1.4.2 Layout 2: Simple image rendering (extended)
...................................................

This directory layout contains one `Img/' directory (to store final
images), one `Tpl/' directory to store design templates, and the
translation entry is empty (there isn't translation files in this
configuration).  When images are rendered, the `Img/' directory
structure is created automatically using the `Tpl/' directory structure
as reference.  In this configuration, one design template produces one
untranslated PNG image, just as it is in the template.


trunk/Identity/path/to/dir
|-- Img
|   |-- Corporate
|   |   `-- monolithic.png
|   `-- Distro
|       `-- Anaconda
|           `-- Header
|               |-- fig1.png
|               |-- fig2.png
|               `-- summary.png
`-- Tpl
    |-- Corporate
    |   `-- monolithic.svg
    `-- Distro
        `-- Anaconda
            `-- Header
                |-- fig1.svg
                |-- fig2.svg
                `-- summary.svg

3.1.4.3 Layout 3: Language specific image rendering
...................................................

This directory layout extends previous one in order to produce
language-specific images.  This directory layout contains one `Img/'
directory (to store final images), one `Tpl/' directory to store design
templates, and the translation entry contains translation files inside
(organized by language codes).


trunk/Translations/Identity/path/to/dir
|-- en
|   |-- Corporate
|   |   `-- monolithic.sed
|   `-- Distro
|       `-- Anaconda
|           `-- Header
|               |-- fig1.sed
|               |-- fig2.sed
|               `-- summary.sed
`-- es
    |-- Corporate
    |   `-- monolithic.sed
    `-- Distro
        `-- Anaconda
            `-- Header
                |-- fig1.sed
                |-- fig2.sed
                `-- summary.sed

   When images are rendered, the `Img/' directory structure is created
automatically using the translation entry structure as reference (see
above).


trunk/Identity/path/to/dir
|-- Img
|   |-- en
|   |   |-- Corporate
|   |   |   `-- monolithic.png
|   |   `-- Distro
|   |       `-- Anaconda
|   |           `-- Header
|   |               |-- fig1.png
|   |               |-- fig2.png
|   |               `-- summary.png
|   `-- es
|       |-- Corporate
|       |   `-- monolithic.png
|       `-- Distro
|           `-- Anaconda
|               `-- Header
|                   |-- fig1.png
|                   |-- fig2.png
|                   `-- summary.png
`-- Tpl
    |-- Corporate
    |   `-- monolithic.svg
    `-- Distro
        `-- Anaconda
            `-- Header
                |-- fig1.svg
                |-- fig2.svg
                `-- summary.svg

   In this configuration, one language-specific file is applied to one
design tempalate to produce one translated PNG image. The relation
between language-specific translation file and design template is done
removing the language-specific directory from translation path, and the
one design template path that matches it is used.

   If no design template is found for one translation file, the final
PNG image for that translation file is not produced and the next
translation file in the list is evaluated.

   For example, in this configuration the following translation files:


trunk/Translations/Identity/path/to/dir/en/Corporate/monolithic.sed
trunk/Translations/Identity/path/to/dir/es/Corporate/monolithic.sed

   match the same design template file:


trunk/Identity/path/to/dir/Tpl/Corporate/monolithic.svg

   in order to produce the following PNG image files:


trunk/Identity/path/to/dir/Img/en/Corporate/monolithic.png
trunk/Identity/path/to/dir/Img/es/Corporate/monolithic.png

3.1.4.4 Layout 4: Release and language specific image rendering
...............................................................

This directory layout extends previous one in order to produce
language-specific images for different major releases of CentOS
distribution (as CentOS release schema describes).

   This directory layout contains one `Img/' directory (to store final
images), one `Tpl/' directory to store design templates, and the
translation entry contains translation files inside (organized by
language codes and major release numbers).


trunk/Translations/Identity/path/to/dir
|-- 5
|   |-- en
|   |   |-- Corporate
|   |   |   `-- monolithic.sed
|   |   `-- Distro
|   |       `-- Anaconda
|   |           `-- Header
|   |               |-- fig1.sed
|   |               |-- fig2.sed
|   |               `-- summary.sed
|   `-- es
|       |-- Corporate
|       |   `-- monolithic.sed
|       `-- Distro
|           `-- Anaconda
|               `-- Header
|                   |-- fig1.sed
|                   |-- fig2.sed
|                   `-- summary.sed
`-- 6
    |-- en
    |   |-- Corporate
    |   |   `-- monolithic.sed
    |   `-- Distro
    |       `-- Anaconda
    |           `-- Header
    |               |-- fig1.sed
    |               |-- fig2.sed
    |               `-- summary.sed
    `-- es
        |-- Corporate
        |   `-- monolithic.sed
        `-- Distro
            `-- Anaconda
                `-- Header
                    |-- fig1.sed
                    |-- fig2.sed
                    `-- summary.sed

   When images are rendered, the `Img/' directory structure is created
automatically using the translation entry structure as reference (see
above).


trunk/Identity/path/to/dir
|-- Img
|   |-- 5
|   |   |-- en
|   |   |   |-- Corporate
|   |   |   |   `-- monolithic.png
|   |   |   `-- Distro
|   |   |       `-- Anaconda
|   |   |           `-- Header
|   |   |               |-- fig1.png
|   |   |               |-- fig2.png
|   |   |               `-- summary.png
|   |   `-- es
|   |       |-- Corporate
|   |       |   `-- monolithic.png
|   |       `-- Distro
|   |           `-- Anaconda
|   |               `-- Header
|   |                   |-- fig1.png
|   |                   |-- fig2.png
|   |                   `-- summary.png
|   `-- 6
|       |-- en
|       |   |-- Corporate
|       |   |   `-- monolithic.png
|       |   `-- Distro
|       |       `-- Anaconda
|       |           `-- Header
|       |               |-- fig1.png
|       |               |-- fig2.png
|       |               `-- summary.png
|       `-- es
|           |-- Corporate
|           |   `-- monolithic.png
|           `-- Distro
|               `-- Anaconda
|                   `-- Header
|                           |-- fig1.png
|                           |-- fig2.png
|                           `-- summary.png
`-- Tpl
    |-- Corporate
    |   `-- monolithic.svg
    `-- Distro
        `-- Anaconda
            `-- Header
                |-- fig1.svg
                |-- fig2.svg
                `-- summary.svg

   In this configuration, one language-specific file,  is applied to one
design tempalate to produce one translated PNG image for each major
release specified in the translation entry.  The relation among
release-specific and language-specific translation files, and design
template is done removing the release-specific and language-specific
directories from translation path, and looking for the one design
template path that matches.

   If no design template matches the translation file, the final PNG
image for that translation file is not produced and the next
translation file in the list is evaluated.

   For example, in this configuration, the following translation files:


trunk/Translations/Identity/path/to/dir/5/en/Corporate/monolithic.sed
trunk/Translations/Identity/path/to/dir/5/es/Corporate/monolithic.sed
trunk/Translations/Identity/path/to/dir/6/en/Corporate/monolithic.sed
trunk/Translations/Identity/path/to/dir/6/es/Corporate/monolithic.sed

   match the same design template file:


trunk/Identity/path/to/dir/Tpl/Corporate/monolithic.svg

   in order to produce the following PNG image files:


trunk/Identity/path/to/dir/Img/5/en/Corporate/monolithic.png
trunk/Identity/path/to/dir/Img/5/es/Corporate/monolithic.png
trunk/Identity/path/to/dir/Img/6/en/Corporate/monolithic.png
trunk/Identity/path/to/dir/Img/6/es/Corporate/monolithic.png

3.1.4.5 Layout 5: Brands specific image rendering
.................................................

*Note trunk Identity Brands::, for more information about themes
specific image rendering and directory layout.

3.1.4.6 Layout 6: Themes specific image rendering
.................................................

*Note trunk Identity Themes::, for more information about themes
specific image rendering and directory layout.

3.1.5 File name convenctions
----------------------------

As file name convenction, inside CentOS Artwork Repository, both
text-based and image-based file name produced by `centos-art.sh' script
has the same name of their translation files without the `.sed'
extension. The file extension is set as follow:

3.1.5.1 When text-based files are rendered
..........................................

Text-based files end up having the same extension of their design
template file.

3.1.5.2 When image-based files are rendered
...........................................

Image-based files always end up having the `.png' extension.

     *Tip* Once `.png' images are created, other image formats may be
     created using the `renderFormats' post-rendering action, inside
     the image-based related pre-rendering configuration script.

     *Note trunk Scripts Bash Config::, for more information.

3.1.6 See also
--------------

3.1.7 References
----------------

   * `http://en.wikipedia.org/Corporate_identity' (and related links).

3.2 trunk/Identity/Brands
=========================

3.2.1 Goals
-----------

   * ...

3.2.2 Description
-----------------

3.2.3 Usage
-----------

3.2.4 See also
--------------

3.3 trunk/Identity/Fonts
========================

3.3.1 Goals
-----------

   * ...

3.3.2 Description
-----------------

3.3.3 Usage
-----------

3.3.4 See also
--------------

3.4 trunk/Identity/Icons
========================

3.4.1 Goals
-----------

   * ...

3.4.2 Description
-----------------

3.4.3 Usage
-----------

3.4.4 See also
--------------

3.5 trunk/Identity/Isolinux
===========================

3.5.1 Goals
-----------

   * ...

3.5.2 Description
-----------------

3.5.3 Usage
-----------

3.5.4 See also
--------------

3.6 trunk/Identity/Models
=========================

3.6.1 Goals
-----------

   * ...

3.6.2 Description
-----------------

3.6.3 Usage
-----------

3.6.4 See also
--------------

3.7 trunk/Identity/Release
==========================

3.7.1 Goals
-----------

   * ...

3.7.2 Description
-----------------

3.7.3 Usage
-----------

3.7.4 See also
--------------

3.8 trunk/Identity/Themes
=========================

3.8.1 Goals
-----------

The `trunk/Identity/Themes/' directory exists to:

   * Organize CentOS Themes.

3.8.2 Description
-----------------

3.8.3 Usage
-----------

In this location themes are organized in "Models" --to store common
information-- and "Motifs"--to store unique information.  At rendering
time, both motifs and models are combined to produce the final CentOS
themes.  CentOS themes can be tagged as "Default" or "Alternative".
CentOS themes are maintained by CentOS community.

3.8.4 See also
--------------

3.9 trunk/Identity/Themes/Models
================================

3.9.1 Goals
-----------

   * Organize theme models.

3.9.2 Description
-----------------

Theme models let you modeling characteristics (e.g., dimensions,
translation markers, position of each element on the display area,
etc.) common to all themes.  Theme models let you reduce the time
needed when propagating artistic motifs to different visual
manifestations.

   Theme models serves as a central pool of design templates for themes
to use. This way you can produce themes with different artistic motifs
but same characteristics.

3.9.3 Usage
-----------

Inside the framework location above, you find theme models organized by
name. You can add your own theme models to the structure by adding a
directory to the list. By default you have the `*Note Default: trunk
Identity Themes Models Default,' and `*Note Alternative: trunk Identity
Themes Models Alternative,' ready-to-use theme models.

3.9.4 See also
--------------

3.10 trunk/Identity/Themes/Models/Alternative
=============================================

3.10.1 Goals
------------

   * ...

3.10.2 Description
------------------

CentOS alternative theme models exist for people how want to use a
different visual style on their installations of CentOS distribution.
As the visual style is needed for a system already installed components
like Anaconda are not required inside alternative themes.  Inside
alternative themes you find post-installation visual style only (i.e.
Backgrounds, Display Managers, Grub, etc.).  CentOS alternative themes
are maintained by CentOS Community.

3.10.3 Usage
------------

   * ...

3.10.4 See also
---------------

3.11 trunk/Identity/Themes/Models/Default
=========================================

3.11.1 Goals
------------

This location stores CentOS default theme model. The CentOS default
theme model is used in all visual manifestations of CentOS Project's
corporate visual identity (e.g., distributions, web sites, promotion,
etc.).

3.11.2 Description
------------------

3.11.3 Usage
------------

Changing CentOS default theme is not very convenient because that
affects the "recognition" of CentOS Project.  Nevertheless, we are
interested on seeing your art work propositions.  Specially if your art
work is an improvement to the base idea behind CentOS default theme
(*Modern*, squares and circles flowing up.).

   If you are not happy with CentOS default theme, you can look inside
CentOS alternative themes and download the one you are interested in.
If you are not happy with any of the CentOS alternative themes
available, then go and design your own CentOS alternative theme as
described in *Note Theme Motifs: trunk Identity Themes Motifs.

3.11.4 See also
---------------

3.12 trunk/Identity/Themes/Models/Default/Distro
================================================

3.12.1 Goals
------------

   * ...

3.12.2 Description
------------------

It applies to all major releases of CentOS distribution.

3.12.2.1 One theme for all major releases
.........................................

Sometimes, specific visual manifestations are formed by common
components which have internal differences. That is the case of CentOS
distribution visual manifestation.

   Since a visual style point of view, the CentOS distributions share
common artwork components like Anaconda --to cover the CentOS
distribution installation--, BootUp --to cover the CentOS distribution
start up--, and Backgrounds --to cover the CentOS distribution
desktop--.  Now, since a technical point of view, those common artwork
components are made of software improved constantly.  So, we need to
find a way to keep one unique name and one unique visual style in
artwork components that have internal difference and also remark
internal difference as well.

     *Important* Remarking the CentOS release schema inside each major
     release of CentOS distribution --or similar visual manifestation--
     takes _high attention_ inside The CentOS Project corporate visual
     identity. It should be very clear for people which major release
     of CentOS distribution they are using.

   In order to remark the CentOS release schema, the CentOS Artwork SIG
uses a release-specific brand design named "The CentOS Release Brand".
The CentOS release brand is compossed by the CentOS logotype _and_ the
CentOS major release number (as specified in CentOS release schema
definition). In this solution, the CentOS release brand is set inside
all release-specific artworks (e.g., distribution, installation media,
etc.) in remarkable way.   The CentOS release brand is the design
component that lets us remark the CentOS release schema inside the
monolithic corporate visual identity structure we propose to use.

3.12.2.2 One theme for each major release
.........................................

Other way we've been using to remark CentOS release schema is applying
one unique theme for _each_ major release of CentOS distribution.  That
is, if we have 4 major releases of CentOS distribution, we need to
provide 4 different themes to cover each CentOS distribution available.

   Inside CentOS Artwork Repository, you can create many themes and that
is very convenient. But using one unique theme for _each_ major release
of CentOS distribution would bring visual isolation among
distributions, websites and promotion visual manifestations. If the
CentOS project would maintain just one CentOS distribution (and many
experienced graphic designers ready to create beautiful artworks) this
model would be nice. Indeed, this model looks quite similar to that one
used by Fedora project, doesn't it. But no, the CentOS project
maintains near to 4 major releases of CentOS distribution in parallel,
and that fact makes a huge difference since the corporate visual
identity point of view.

   If we use one unique theme for _each_ major release of CentOS
distribution, which one of those themes, does we use to cover other
CentOS visual manifestations, like websites and promotion stuff?

   In whatever case you choose some release-specific distribution user
will be visually isolated from other CentOS visual manifestations like
websites and promotion stuff, even if the CentOS brand is present in
all visual manifestations. In such a case, probably, users will end up
asking themselves, why my CentOS distribution has this design and the
CentOS website another one? Isn't them on the same project? With luck
the CentOS brand will exonerate user form visual isolation.

3.12.3 Usage
------------

3.12.4 See also
---------------

3.13 trunk/Identity/Themes/Models/Default/Distro/Anaconda
=========================================================

3.13.1 Goals
------------

   * ...

3.13.2 Description
------------------

3.13.3 Usage
------------

3.13.4 See also
---------------

3.14 trunk/Identity/Themes/Models/Default/Promo
===============================================

3.14.1 Goals
------------

   * ...

3.14.2 Description
------------------

It applies to all tangible and non tangible items CentOS uses to
promote its existence. Clothes, posters, installation media,
stationery, release countdown images, banners, stickers, are all
examples of promotion designs.

   * ...

3.14.3 Usage
------------

   * ...

3.14.4 See also
---------------

3.15 trunk/Identity/Themes/Models/Default/Web
=============================================

3.15.1 Goals
------------

   * ...

3.15.2 Description
------------------

It applies to all web applications CentOS uses to handle its needs (Ex.
Portals, Wikis, Forums, Blogs, Bug Tracker). Anything involving HTML
standards should be consider here.

   * ...

3.15.3 Usage
------------

   * ...

3.15.4 See also
---------------

3.16 trunk/Identity/Themes/Motifs
=================================

3.16.1 Goals
------------

The `trunk/Identity/Themes/Motifs' directory exists to:

   * Organize CentOS themes' artistic motifs.

3.16.2 Description
------------------

The artistic motif of theme is a graphic design component that provides
theme's visual style, it is used as pattern to connect all visual
manifestations inside one unique theme.

   Artistic motifs are based on conceptual ideas. Conceptual ideas bring
the motivation, they are fuel for the engines of human imagination.
Good conceptual ideas may produce good motivation to produce almost
anything, and art works don't escape from it.

`TreeFlower'
     CentOS like trees, has roots, trunk, branches, leaves and flowers.
     Day by day they work together in freedom, ruled by the laws of
     nature and open standards, to show the beauty of its existence.

`Modern'
     Modern, squares and circles flowing up.

   If you have new conceptual ideas for CentOS, then you can say that
you want to create a new artistic motif for CentOS. To create a new
artistic motif you need to create a directory under
`Identity/Themes/Motifs/' using a name coherent with your conceptual
idea. That name will be your artistic motif's name. If possible, when
creating new conceptual ideas for CentOS, think about what CentOS means
for you, what does it makes you feel, take your time, think deep, and
share; you can improve the idea as time goes on.

   Once you have defined a name for your theme, you need to create the
motif structure of your theme. The motif structure is the basic
direcotry structure you'll use to work your ideas. Here is where you
organize your graphic design projects.

   To add a new motif structure to CentOS Artwork Repository, you need
to use the `centos-art' command line in the `Identity/Themes/Motifs/'
directory as described below:

     centos-art add --motif=ThemeName

   The previous command will create the motif's basic structure for you.
The basic structure produced by `centos-art' command is illustrated in
the following figure:

     trunk/Identity/Themes/Motifs/$ThemeName/
     |-- Backgrounds
     |   |-- Img
     |   `-- Tpl
     |-- Info
     |   |-- Img
     |   `-- Tpl
     |-- Palettes
     `-- Screenshots

3.16.3 Usage
------------

When designing artistic motifs for CentOS, consider the following
recommendations:

   * Give a unique (case-sensitive) name to your Motif. This name is
     used as value wherever theme variable ($THEME) or translation
     marker (=THEME=) is.  Optionally, you can add a description about
     inspiration and concepts behind your work.

   * Use the location `trunk/Identity/Themes/Motifs/$THEME/' to store
     your work. If it doesn't exist create it. Note that this require
     you to have previous commit access in CentOS Artwork Repository.

   * The CentOS Project is using the blue color (#204c8d) as base for
     its corporate visual identity. Use the CentOS Project's base
     corporate color as much as possible in your artistic motif designs.

   * Try to make your design fit one of the theme models.

   * Feel free to make your art enterprise-level and beautiful.

   * Add the following information on your art work (both in a visible
     design area, and inside Inkscape's document metadata section
     wherever it be possible):

        * The name (or logo) of your artistic motif.

        * The copyright sentence: Copyright (C) YEAR YOURNAME

        * The license under which the work is released. All CentOS Art
          works are released under Creative Common Share-Alike License
          3.0 (http://creativecommons.org/licenses/by-sa/3.0/)
          (`http://creativecommons.org/licenses/by-sa/3.0/').


3.16.4 See also
---------------

3.17 trunk/Identity/Themes/Motifs/Modern/Backgrounds
====================================================

3.17.1 Goals
------------

   * Organize background images for Modern theme.

3.17.2 Description
------------------

Inside motif's `Backgrounds/' directory you can create vectorial
designs using Inkscape and background images using Gimp. Later, you can
export background images as `.png' and load them in your vectorial
design project using Inkscape's import feautre.

   You may need to repeat this technic for different screen resoluions.
In that case you need to create one file for each screen resolution and
do the appropriate linking inside .svg to .png files.  For example if
you need to produce background images in 800x600 you need to create the
following file:

     xcf/800x600.xcf

   to produce the background image:

     img/800x600-bg.png

   which is loaded in:

     svg/800x600.svg

   to produce the final background image:

     img/800x600.png

   The `img/800x600.png' background image is produced automatically by
means of rendering scripts.

   In other cases, like Anaconda's, it is possible that you need to make
some variations to one background image that don't want to appear on
regular background images of the same resolution. In this case you need
to create a new and specific background image for that art component.
For example, if you need to produce the background image used by
Anconda (800x600) art works you create the file:

     xcf/800x600-anaconda.xcf

   to produce the background image:

     img/800x600-anaconda-bg.png

   which is loaded in:

     svg/800x600-anaconda.svg

   to produce the file:

     img/800x600-anaconda.png

   The 800x600-anaconda.png file is used by all Anaconda art works
sharing a common 800x600 screen resolution (e.g., Header, Progress,
Splash, Firstboot, etc.). The Anaconda Prompt is indexed to 16 colors
and 640x480 pixels so you need to create a 640x480 background image for
it, and take the color limitation into account when designing it.

   Background images without artistic motif are generally used as based
to build the Background images that do contain the theme's artistic
motif.

   Background images are linked (using Inkscape's import feature)
inside almost all theme art works. This structure let you make
centralized changes on the visual identity and propagate them quickly
to other areas.

   In this structure you design background images for different screen
resolutions based on theme's artistic motif.

   You may create different artistic motifs propositions based on the
same conceptual idea. The conceptual idea is what defines a theme.
Artistic motifs are interpretations of that idea.

   Inside this directory artistic motifs are organized by name (e.g.,
TreeFlower, Modern, etc.).

   Inside each motif directories represent just one unique artistic
motif.

   The artistic motif is graphic design used as common pattern to
connect all visual manifestations inside one unique theme.  The
artistic motif is based on a conceptual idea.  Artistic motifs provide
visual style to themes.

   Designing artistic motifs is for anyone interested in creating
beautiful themes for CentOS.  When building a theme for CentOS, the
first design you need to define is the artistic motif.

   Inside CentOS Artwork Repository, theme visual styles (Motifs) and
theme visual structures (Models) are two different working lines.  When
you design an artistic motif for CentOS you concentrate on its visual
style, and eventualy, use the `centos-art' command line interface to
render the visual style, you are currently producing, against an
already-made theme model in order to produce the final result.  Final
images are stored under the motif's name directory using the model
directory structure as reference.

   The artistic motif base structure is used by `centos-art' to produce
images automatically. This section describes each directory of CentOS
artistic motif base structure.

3.17.3 Usage
------------

The motif's `Backgrounds/' directory is probably the motif's core
component.  Inside motif's `Backgrounds/' directory you produce
background images used by almost all theme models (e.g., Distribution,
Websites, Promotion, etc.).  The motif's `Backgrounds/' directory can
contain subdirectories to help you organize the design process.

3.17.4 See also
---------------

3.18 trunk/Identity/Themes/Motifs/Modern/Backgrounds/Img
========================================================

3.18.1 Goals
------------

   * ...

3.18.2 Description
------------------

3.18.3 Usage
------------

In this directory is where you store all background images (e.g., .png,
.jpg, .xpm, etc.).  This directory is required by `centos-art' command
line interface.

3.18.4 See also
---------------

3.19 trunk/Identity/Themes/Motifs/Modern/Backgrounds/Tpl
========================================================

3.19.1 Goals
------------

   * ...

3.19.2 Description
------------------

3.19.3 Usage
------------

In this directory is where you store all the scalable vector graphics
(e.g., .svg) files. This directory is required by `centos-art' command
line interface.

3.19.4 See also
---------------

3.20 trunk/Identity/Themes/Motifs/Modern/Backgrounds/Xcf
========================================================

3.20.1 Goals
------------

   * ...

3.20.2 Description
------------------

   * ...

3.20.3 Usage
------------

In this directory is where you store Gimp's project files (e.g, .xcf).
This directory is not required by `centos-art' command line interface.
If you can create a beautiful background images using scalable vector
graphics only, then there is no need to use the `Xcf/' directory to
store Gimp's background projects. Of course, you can merge Gimp's power
with Inkscape's power to produce images based on them.  In this last
case you need the `Xcf/' directory.

3.20.4 See also
---------------

3.21 trunk/Identity/Themes/Motifs/Modern/Distro/Anaconda/Progress
=================================================================

3.21.1 Goals
------------

   * ...

3.21.2 Description
------------------

3.21.3 Usage
------------

To render Anaconda progress slide images using the Modern's artistic
motif design, the Default theme model, and available translation files
(*note trunk Translations Identity Themes Distro Anaconda Progress::);
use the following commands:

     cd /home/centos/artwork/trunk/Identity/Themes/Motifs/Modern/Distro/Anaconda/Progress/
     centos-art render --identity

   The above command will create the following structure:

     trunk/Identity/Themes/Motifs/Modern/Distro/Anaconda/Progress
     |-- 3
     |   |-- en
     |   |   |-- 01-welcome.png
     |   |   |-- 02-donate.png
     |   |   `-- 03-yum.png
     |   `-- es
     |       |-- 01-welcome.png
     |       |-- 02-donate.png
     |       `-- 03-yum.png
     |-- 4
     |   |-- en
     |   |   |-- 01-welcome.png
     |   |   |-- 02-donate.png
     |   |   `-- 03-yum.png
     |   `-- es
     |       |-- 01-welcome.png
     |       |-- 02-donate.png
     |       `-- 03-yum.png
     `-- 5
         |-- en
         |   |-- 01-welcome.png
         |   |-- 02-donate.png
         |   `-- 03-yum.png
         `-- es
             |-- 01-welcome.png
             |-- 02-donate.png
             `-- 03-yum.png

3.21.4 See also
---------------

3.22 trunk/Identity/Themes/Motifs/Modern/Palettes
=================================================

3.22.1 Goals
------------

   * Organize palette files for Modern theme.

3.22.2 Description
------------------

3.22.3 Usage
------------

Here is where graphic designers define theme palettes for color-limited
art works. Theme palettes contain the color information that rendering
functions need, in order to produce images with color limitations.
Theme palettes contain theme's unique color information.

3.22.4 See also
---------------

3.23 trunk/Identity/Themes/Motifs/TreeFlower
============================================

3.23.1 Goals
------------

   * ...

3.23.2 Description
------------------

3.23.3 Usage
------------

3.23.4 See also
---------------

3.24 trunk/Identity/Widgets
===========================

3.24.1 Goals
------------

   * ...

3.24.2 Description
------------------

3.24.3 Usage
------------

3.24.4 See also
---------------

3.25 trunk/Manuals
==================

3.25.1 Goals
------------

   * ...

3.25.2 Description
------------------

   * ...

3.25.3 Usage
------------

`centos-art help 'path/to/dir''
     Use this command to read directory documentation specified in
     `path/to/dir'.

`centos-art help 'path/to/dir' --read='filename''
     Use this command to read file documentation as specified by
     `path/to/dir/filename' combination.

`centos-art help 'path/to/dir' --edit'
     Use this command to edit directory documentation as specified in
     `path/to/dir'.

`centos-art help 'path/to/dir' --edit='filename''
     Use this command to edit file documentation as specified in
     `path/to/dir/filename' combination.

`centos-art help 'path/to/dir' --update'
     Use this command to update documentation output files.

`centos-art help 'path/to/dir' --remove'
     Use this command to remove directory documentation as specified in
     `path/to/dir'.

          *Caution* When directory documentation is removed all
          documentation under it is also removed.

          *Tip* To recover from directory documentation lost, try the
          following command (before commit local changes up to central
          repository):
          svn revert path/to/dir --recursive

`centos-art help 'path/to/dir' --remove='filename''
     Use this command to remove file documentation as specified in
     `path/to/dir/filename' combination.

3.25.4 See also
---------------

3.26 trunk/Scripts
==================

3.26.1 Goals
------------

The `trunk/Scripts' directory exists to:

   * Organize the "trunk" development line of automation scripts by
     programming language.

3.26.2 Description
------------------

   * ...

3.26.3 Usage
------------

   * ...

3.26.4 See also
---------------

3.27 trunk/Scripts/Bash
=======================

3.27.1 Goals
------------

The `trunk/Scripts/Bash' directory exists to organize the "trunk"
development line of `centos-art.sh' automation script.  The
`centos-art.sh' script standardize frequent tasks inside your working
copy of CentOS Artwork Repository.

3.27.2 Description
------------------

The best way to understand `centos-art.sh' automation script is
studying its source code. The `centos-art.sh' script is splited in
several configuration and function files which are loaded when the
`centos-art.sh' script is executed. This section describes the order in
which `centos-art.sh' loads its configuration and function files.

   When you type the `centos-art' command in your terminal, the
operating system trys to execute that command. In order to execute the
command, the operating system needs to know where it is, so the
operating system uses the PATH environment variable to look for that
command's location. If your system was prepared to use CentOS Artwork
Repository correctly (see usage section above), you should have a
symbolic link inside `~/bin/' directory that points to the
`centos-art.sh' script file. As `~/bin/' directory is, by default,
inside PATH environment variable, the execution of `centos-art' command
runs the `centos-art.sh' script.

   When `centos-art.sh' script is executed, the first it does is
execute the `trunk/Scripts/Bash/initFunctions.sh' file to initialize
`gettext' variables and all function scripts inside
`trunk/Scripts/Bash/Functions' directory.

   Once `gettext' variables and all function scripts have been
initialized, the `centos-art.sh' script initializes its environment
variables using the `cli_getVariables' function.  At this point the
`centos-art.sh' script calls the `cli_getActions' function from
`cli_getVariables' function's bottom.

   The `cli_getActions' function defines which actions the
`centos-art.sh' script is able to perform. Inside `cli_getActions'
function, actions are defined combining positional arguments and
function calls.


+------------------------------------------------------------------+
| [centos@host]$ centos-art action 'path/to/dir' --option='value'  |
+------------------------------------------------------------------+
| ~/bin/centos-art --> ~/artwork/trunk/Scripts/Bash/centos-art.sh  |
+---v-----------------------------------------v--------------------+
    | centos-art.sh                           |
    +---v---------------------------------v---+
    .   | initFunctions.sh                |   .
    .   +---------------------------------+   .
    .   | cli_getVariables $@             |   .
    .   +---v-------------------------v---+   .
    .   .   | cli_getActions          |   .   .
    .   .   +---v-----------------v---+   .   .
    .   .   .   | function call 1 |   .   .   .
    .   .   .   | function call 2 |   .   .   .
    .   .   .   | function call n |   .   .   .
    .   .   .   +-----------------+   .   .   .
    .   .   ...........................   .   .
    .   ...................................   .
    ...........................................

Figure 3.1: The `centos-art.sh' initialization environment.

3.27.2.1 The identity matching list
...................................

The identity matching list is used by identity rendering functions to
define the relation between translation files and identity design
templates. *Note trunk Scripts Bash Functions Config
cli_getIdentityMatchinglist.sh::, for more information.

3.27.2.2 Adding new features
............................

To add new features inside `centos-art.sh' script, you need to set
positional arguments and function calls inside `cli_getActions'
function for the new function or functions required by the new feature
you want to add.

3.27.3 Usage
------------

3.27.3.1 The `centos-art' `check' action
........................................

This feature is supported through the following command:

`centos-art check'
     This command verifies paths, symbolic links, installed packages and
     everything your workstation needs in order to run the `centos-art'
     command correctly.

          *Warning* If this is the first time you run `centos-art'
          command, the appropriate way to execute check action is not
          using the `centos-art' command, but the absolute path to
          `centos-art.sh' script instead:
          ~/artwork/trunk/Scripts/Bash/centos-art.sh check

3.27.3.2 The `centos-art' `search' action
.........................................

This feature is not supported yet.

`centos-art search 'pattern''
     Use this command to find directories and files that match exactly
     the posix-regular expression set in `pattern' as in `^pattern$'.

`centos-art search 'pattern1 pattern2 patternN''
     Use this command to search repository entries that match pattern1
     _or_ patter2 _or_ patternN as in
     `'^.*(pattern1|pattern2|patternN).*$''.

`centos-art search 'path/to/dir1 path/to/dir2 path/to/dirN''
     Use this command to search repository entries that match
     `path/to/dir1' _or_ `path/to/dir2', _or_ `path/to/dirN' as in
     `^.*(path/to/dir1|path/to/dir2|path/to/dirN).*$''.


3.27.3.3 The `centos-art' `path' action
.......................................

This feature is not supported yet.

`centos-art path 'path/to/dir/' --copy-to='path/to/dir''

`centos-art path 'path/to/dir/' --copy-to='path/to/dir/filename''

`centos-art path 'path/to/dir/' --move-to='path/to/dir''

`centos-art path 'path/to/dir/' --move-to='path/to/dir/filename''

`centos-art path 'path/to/dir/' --remove'

3.27.3.4 The `centos-art' `locale-art' action
.............................................

This feature is not supported yet.

`centos-art locale-art 'path/to/dir' --edit'

`centos-art locale-art 'path/to/dir' --edit='filename''

`centos-art locale-art 'path/to/dir' --list'

`centos-art locale-art 'path/to/dir' --list='filename''

3.27.3.5 The `centos-art' `license' action
..........................................

This feature is supported through the following command:

`centos-art license'
     Use this command to see a brief description of `centos-art'
     command its copyright and its license notes.

3.27.4 See also
---------------

3.28 trunk/Scripts/Bash/Config
==============================

3.28.1 Goals
------------

The `trunk/Scripts/Bash/Config' directory exists to oraganize
pre-rendering configuration scripts.

3.28.2 Description
------------------

Pre-rendering configuration scripts let you customize the way
`centos-art.sh' script renders identity and translation repository
entries.  Pre-rendering configuration scripts are `render.conf.sh'
files with `loadConfiguration' function definition inside.

   There is one `render.conf.sh' file for each pre-rendering
configuration entry. Pre-rendering configuration entries can be based
both on identity and translation repository entires.  Pre-rendering
configuration entries are required for each identity entry, but not for
translation entries.

3.28.2.1 The `render.conf.sh' identity model
............................................

Inside CentOS Artwork Repository, we consider directories under
`trunk/Identity' as identity entries. Identity entries can be
image-based or text-based. When you render image-based identity entries
you need to use image-based pre-rendering configuration scripts.
Likewise, when you render text-based identity entries you need to use
text-based pre-rendering configuration scripts.

   Inside both image-based and text-based identity pre-rendering
configuration scripts, we use the `ACTIONS' array variable to define
the way `centos-art.sh' script performs identity rendering. The first
entry inside `ACTIONS' array variable (i.e., `ACTIONS[0]') is reserved
to define the primary rendering action (i.e, `renderImage' or
`renderText').  Further entries inside `ACTIONS' (i.e., `ACTIONS[1]',
`ACTIONS[2]', etc.) are used to define identity post-rendering actions.

   Inside identity pre-rendering configuration scripts, image-based
pre-rendering configuration scripts look like the following:


#!/bin/bash

function loadConfiguration {

    # Define post-rendering actions. An empty value means that no
    # post-rendering action is applied.
    ACTIONS[0]='renderImage'
    ACTIONS[1]='renderFormats: tif xpm pdf ppm'

}

   Inside identity pre-rendering configuration scripts, text-based
pre-rendering configuration scripts look like the following:


#!/bin/bash

function loadConfiguration {

    # Define post-rendering actions. An empty value means that no
    # post-rendering action is applied.
    ACTIONS[0]='renderText'
    ACTIONS[1]='formatText: --width=70 --uniform-spacing'

}

   When using identity pre-rendering configuration scripts, you can
extend both image-based and text-based pre-rendering configuration
scripts using image-based and text-based post-rendering actions,
respectively.

3.28.2.2 The `render.conf.sh' translation model
...............................................

Translation pre-rendering configuration scripts take precedence before
default translation rendering action. Translation pre-rendering actions
are useful when default translation rendering action do not fit itself
to translation entry rendering requirements.

3.28.3 Usage
------------

Use the following commands to administer both identity and translation
pre-rendering configuration scripts:

`centos-art config 'path/to/dir/' --create'
     Use this command to create `path/to/dir' related pre-rendering
     configuration script.

`centos-art config 'path/to/dir/' --edit'
     Use this command to edit `path/to/dir' related pre-rendering
     configuration script.

`centos-art config 'path/to/dir/' --read'
     Use this command to read `path/to/dir' related pre-rendering
     configuration script.

`centos-art config 'path/to/dir/' --remove'
     Use this command to remove `path/to/dir' related pre-rendering
     configuration script.


   In the commands above, `path/to/dir' refers to one renderable
directory path under `trunk/Identity' or `trunk/Translations'
structures only.

3.28.4 See also
---------------

3.29 trunk/Scripts/Bash/Config/Identity
=======================================

3.29.1 Goals
------------

   * ...

3.29.2 Description
------------------

   * ...

3.29.3 Usage
------------

   * ...

3.29.4 See also
---------------

3.30 trunk/Scripts/Bash/Config/Translations
===========================================

3.30.1 Goals
------------

   * ...

3.30.2 Description
------------------

   * ...

3.30.3 Usage
------------

   * ...

3.30.4 See also
---------------

3.31 trunk/Scripts/Bash/Functions
=================================

3.31.1 Goals
------------

   * ...

3.31.2 Description
------------------

   * ...

3.31.3 Usage
------------

   * ...

3.31.4 See also
---------------

3.32 trunk/Scripts/Bash/Functions/Config
========================================

3.32.1 Goals
------------

   * ...

3.32.2 Description
------------------

   * ...

3.32.3 Usage
------------

   * ...

3.32.4 See also
---------------

3.33 trunk/Scripts/Bash/Functions/Config/cli_getActionsIdentity.sh
==================================================================

3.33.1 Goals
------------

   * ...

3.33.2 Description
------------------

   * ...

3.33.3 Usage
------------

   * ...

3.33.4 See also
---------------

3.34 trunk/Scripts/Bash/Functions/Config/cli_getActions.sh
==========================================================

3.34.1 Goals
------------

   * ...

3.34.2 Description
------------------

   * ...

3.34.3 Usage
------------

   * ...

3.34.4 See also
---------------

3.35 trunk/Scripts/Bash/Functions/Config/cli_getActionsTranslations.sh
======================================================================

3.35.1 Goals
------------

   * ...

3.35.2 Description
------------------

   * ...

3.35.3 Usage
------------

   * ...

3.35.4 See also
---------------

3.36 trunk/Scripts/Bash/Functions/Config/cli_getIdentityMatchinglist.sh
=======================================================================

3.36.1 Goals
------------

   * ...

3.36.2 Description
------------------

   * ...

3.36.3 Usage
------------

   * ...

3.36.4 See also
---------------

3.37 trunk/Scripts/Bash/Functions/Config/repo_renderIdentitySyslinux.sh
=======================================================================

3.37.1 Goals
------------

   * ...

3.37.2 Description
------------------

   * ...

3.37.3 Usage
------------

   * ...

3.37.4 See also
---------------

3.38 trunk/Scripts/Bash/Locale
==============================

3.38.1 Goals
------------

   * Organize `centos-art.sh' locale files.

3.38.2 Description
------------------

This command looks for `.sh' files inside Bash directory and extracts
translatable strings from files, using `xgettext' command, in order to
create a portable object template (`centos-art.sh.pot') file for them.

   With the `centos-art.sh.pot' file up to date, the `centos-art'
command removes the temporal list of files sotred inside `/tmp'
directory and checks the current language of your user's session to
create a portable object file for it, in the location
`$CLI_LANG/$CLI_LANG.po'.

   The CLI_LANG variable discribes the locale language used to output
messages inside `centos-art' command. The locale language used inside
`centos-art' command is taken from the LANG environment variable.  The
CLI_LANG variable has the `LL_CC' format, where `LL' is a language code
from the ISO-639 standard, and `CC' a country code from the ISO-3166
standard.

   The LANG environment variable is set when you do log in to your
system. If you are using a graphical session, change language to your
native language and do login. That would set and exoprt the LANG
environment variable to the correct value. On the other side, if you
are using a text session edit your `~/.bash_profile' file to set and
export the LANG environment variable to your native locale as defines
the `locale -a' command output; do logout, and do login again.

   At this point, the LANG environment variable has the appropriate
value you need, in order to translate `centos-art.sh' messages to your
native language (the one set in LANG environment variable).

   With the `$CLI_LANG/$CLI_LANG.po' file up to date, the `centos-art'
opens it for you to update translation strings.  The `centos-art'
command uses the value of EDITOR environment variable to determine your
favorite text editor. If no value is defined on EDITOR, the
`/usr/bin/vim' text editor is used as default.

   When you finish PO file's edition and quit text editor, the
`centos-art' command creates the related machine object in the location
`$CLI_LANG/LC_MESSAGES/$TEXTDOMAIN.mo'.

   At this point, all translations you made in the PO file should be
available to your language when runing `centos-art.sh' script.

3.38.2.1 Configuration files
............................

In order to make the `centos-art.sh' internationalization, the
`centos-art.sh' script was modified as described in the `gettext' info
documentation (`info gettext').  You can find such modifications in the
following files:

   * `trunk/Scripts/Bash/initFunctions.sh'

   * `trunk/Scripts/Bash/Functions/Config/cli_localeMessages.sh'

   * `trunk/Scripts/Bash/Functions/Config/cli_localeMessagesStatus.sh'

3.38.3 Usage
------------

3.38.3.1 The `centos-art' `locale-cli' action
.............................................

`centos-art locale-cli --edit'
     Use this command to translate command-line interface output
     messages in the current system locale you are using (as specified
     in LANG environment variable).

`centos-art locale-cli --list'
     Use this command to see the command-line interface locale report.

3.38.4 See also
---------------

3.39 trunk/Scripts/Perl
=======================

3.39.1 Goals
------------

   * ...

3.39.2 Description
------------------

3.39.3 Usage
------------

3.39.4 See also
---------------

3.40 trunk/Scripts/Python
=========================

3.40.1 Goals
------------

   * ...

3.40.2 Description
------------------

   * ...

3.40.3 Usage
------------

   * ...

3.40.4 See also
---------------

3.41 trunk/Translations
=======================

3.41.1 Goals
------------

The `trunk/Translations' directory exists to:

   * Organize translation files.

   * Organize translation templates used to produce translation files.

3.41.2 Description
------------------

When you create artwork for CentOS distribution you find that some
artworks need to be created for different major releases of CentOS
distribution and inside each major release they need to be created for
different locales. To get an approximate idea of how many files we are
talking about, consider the followig approximate statistic:

   * Inside CentOS distribution, there are around 30 images to
     rebrand.(1)

   * There are near to four major releases of CentOS distribution to
     rebrand in parallel development.(2)

   * Each CentOS distribution in parallel development supports more
     than two hundreds locales.(3)

   In order to aliviate maintainance of artwork production for such
environment, we divided artwork production in three production lines:

  1. *Note trunk Identity Themes Models::, to define artworks
     characteristics (e.g., dimensions, position on the screen, etc.).

  2. *Note trunk Identity Themes Motifs::, to define artworks visual
     styles (e.g., the look and feel).

  3. Translations, to define which major releases and locales artworks
     are produced for.

   Inside CentOS Artwork Repository, the artworks' translation
production line is stored under `trunk/Translations' directory.

   Inside `trunk/Translations' directory, we use "translation entries"
to organize artworks' "translation files" and artworks' "translation
templates".

3.41.2.1 Translation Entries
............................

Translation entries exists for each artwork you want to produce.
Translation entries can be empty directories, or directories containing
translation files and translation templates.

   When translation entries are empty directories, the identity entry is
used as reference to create file names and directories layout for
rendered files.  In this case, the `centos-art' script takes one design
template and outputs one non-translated file for each design template
available.  This configuration is mainly used to produce
non-translatable artworks like themes' backgrounds.

   When translation entries contain translation files, the translation
entry implements the CentOS release schema and is used as reference to
create file names and directories layout for translated artworks. In
this case, the `centos-art' script applies one translation file to one
design template to create one translated instance which is used to
output one translated file. When the translated file is rendered, the
`centos-art' script remove the previous instance and takes the next
file in the list of translation files to repate the whole process once
again, and so on for all files in the list. This configuration is
mainly used to produce translatable artworks like Anaconda's progress
slide images.

   To find out correspondence between translation entries and identity
entries, you need to look the path of both translation entries and
identity entries. For example, if you are using the Modern's artisitic
motif, the identity entry for Anaconda progress artwork is:


trunk/Identity/Themes/Motifs/Modern/Distro/Anaconda/Progress

   and its translation entry is:


trunk/Translations/Identity/Themes/Distro/Anaconda/Progress

   Note how the `Translations/' directory prefixes `Identity/'
directory, also how static values (e.g., Identity, Themes, Distro,
etc.) in the identity's entry path remain in translation's entry path,
and how variable values like theme names (e.g., Modern) are stript out
from translation's entry path. The same convenction can be applied to
other identity entries in order to determine their translation entries,
or to other translation entries to determine their identity entries.

     *Note* Translation entries related to identity entries under
     `trunk/Identity/Themes/Motifs' do not use `Motifs/' in the path.
     We've done this because `trunk/Identity/Themes/Models' structure,
     the other structure under `trunk/Identity/Themes', doesn't require
     translation paths so far. So in the sake of saving characters
     space when building translation entries for
     `trunk/Identity/Themes/Motifs' structure, we organize Motifs
     translation entries under `trunk/Translations/Identity/Themes/'
     directly.

     If for some reason `trunk/Identity/Themes/Models' structure
     requires translation entries, we need to re-oraganize the current
     directory structure accordingly.

   Translation entries, as described above, can be re-used by similar
identity entries. For example the following identity entries:


trunk/Identity/Themes/Motifs/Modern/Distro/Anaconda/Progress/
trunk/Identity/Themes/Motifs/TreeFlower/Distro/Anaconda/Progress/
trunk/Identity/Themes/Motifs/Mettle/Distro/Anaconda/Progress/

   are all valid identity entries able to re-use translation files
inside Anaconda progress translation entry (the one shown in our example
above). This way, you can create several identity entries and maintain
just one translation entry for all of them.  Once you change the
translation files inside the common translation entry, changes inside
identity entries will take effect inside the next you render them.

   Trying to make things plain and simple: inside CentOS Artwork
Repository, graphic designers can concentrate their efforts in artworks
look and feel (the identity entries), and translators in artworks
translations (the translation entries).

3.41.2.2 Translation Markers
............................

Translation markers are used in "Theme Model Designs" and "Translation
Files" as replacement patterns to commit content translation.  When you
are rendering content using `centos-art' script inisde `trunk/Identity'
structure, artistic motifs and translation files are applied to model
designs to produce translated content as result. In order to have the
appropriate translation in content rendered, markers defintion in
translation files should match markers in model designs exactly.

   Translation markers can be whatever text you want, but as convenction
we use the following to represent releases of CentOS distribution:

`=MINOR_RELEASE='
     Replace with minor release of CentOS distribution. In the schema
     M.N, the minor release is represented by the N letter.

`=MAJOR_RELEASE='
     Replace with major release of CentOS distribution. In the schema
     M.N, the major release is represented by the M letter.

`=RELEASE='
     Replace the full release of CentOS distribution. It is
     `=MAJOR_RELEASE=.=MINOR_RELEASE=' basically.

   Specific translation markers convenctions are described inside
specific translation entries. Read translation entries documentation to
know more about supported translation markers.

   Translation markers standardization creates a common point of
reference for translators and graphic designers. To have translation
markers well defined makes possible that translators and graphic
designers can work together but independently one another.

3.41.2.3 Translation Files
..........................

Translation files are text files with `sed''s commands inside,
replacement commands mainly. As convenction, translation file names end
in `.sed'. Translation files are used by `centos-art' script to produce
translated artworks for specific major releases of CentOS Distribution.
There are common translation files, specific translation, and template
translation files.

   For example, the Firstboot artwork of CentOS distribution uses the
images `splash-small.png' and `firstboot-left.png' as based to control
its visual style. The `splash-small.png' image contains, in its graphic
design, the release number information of CentOS distribution. So the
`splash-small.png' is release-specific. In the other hand, the
`firstboot-left.png' doesn't contain release number information. So the
`firstboot-left.png' is not release-specific.

   If we want to produce Firstboot artwork for different major releases
of CentOS distribution, using a monolithic visual identity, all
Firstboot images should have the same visual style and, at the same
time, the release-specific information in the release-specific images.

     *Note* The monolithic visual identity is implemented using theme
     models (*note trunk Identity Themes Models::) and artistic motifs
     (*note trunk Identity Themes Motifs::).

   Assuming that both theme models and theme motifs are ready for using,
the initial translation entry to produce Firstboot artworks would look
like the following:


trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
|-- Tpl
|   `-- splash-small.sed
`-- firstboot-left.sed

   With the translation entry above, `centos-art' command is able to
produce the image `firstboot-left.png' only. To produce
`splash-small.png' images for major releases (e.g., 3, 4, 5, and 6) of
CentOS distribution we need to produce the release-specific translation
files using the `centos-art' script as following:


centos-art render --translation=/home/centos/artwork/trunk/Translations/Identity/Themes/BootUp/Firstboot --filter='3,4,5,6'

   The above command produces the following translation entiry:


trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
|-- 3
|   `-- splash-small.sed
|-- 4
|   `-- splash-small.sed
|-- 5
|   `-- splash-small.sed
|-- 6
|   `-- splash-small.sed
|-- Tpl
|   `-- splash-small.sed
`-- firstboot-left.sed

   At this point `centos-art' is able to produce the Firstboot artwork
images for major releases of CentOS distribution. To add new
release-specific translation files, run the translation rendering
command with the release number you want to produce translation files
for in the `--filter='release-number'' argument.

3.41.2.4 Template Translation Files
...................................

Template translation files are translation files stored inside
translation template directory. Template translation files are used by
`centos-art' script to produce specific translation files only.
Template translation files may be empty or contain `sed''s replacement
commands. If template translation files are empty files, the final
specifc translation file built from it contains release-specific
replacement commands only. For example, see the following translation
entry:


trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
|-- 3
|   `-- splash-small.sed
|-- 4
|   `-- splash-small.sed
|-- 5
|   `-- splash-small.sed
|-- 6
|   `-- splash-small.sed
|-- Tpl
|   `-- splash-small.sed    <-- template translation file.
`-- firstboot-left.sed

   In the above exmaple, the `splash-small.sed' file is a template
translation file and looks like:


# -------------------------------------
# $Id: Translations.texi 40 2010-09-15 19:52:23Z al $
# -------------------------------------

   In the above template translation file there are three comments
lines, but when you render it, the `centos-art' adds the
release-specific replacement commands. In our Firstboot example, after
rendering Firstboot translation entry, the `splash-small.sed'
translation file specific to CentOS 5, looks like the following:


# Warning: Do not modify this file directly. This file is created
# automatically using 'centos-art' command line interface.  Any change
# you do in this file will be lost the next time you update
# translation files using 'centos-art' command line interface. If you
# want to improve the content of this translation file, improve its
# template file instead and run the 'centos-art' command line
# interface later to propagate your changes.
# -------------------------------------
# $Id: Translations.texi 40 2010-09-15 19:52:23Z al $
# -------------------------------------

# Release number information.
s!=RELEASE=!=MAJOR_RELEASE=.=MINOR_RELEASE=!g
s!=MINOR_RELEASE=!0!g
s!=MAJOR_RELEASE=!5!g

   If template translation files are not empty, replacement commands
inside template translation files are preserved inside release-specific
translation files.  For example, consider the English template
translation file of Anaconda progress welcome slide.  The translation
template directory structure looks like the following:


trunk/Translations/Identity/Themes/Distro/Anaconda/Progress/
`-- Tpl
    `-- en
        `-- 01-welcome.sed

   and if we render translation files for CentOS 4 and CentOS 5 major
releases, the translation entry would look like the following:


trunk/Translations/Identity/Themes/Distro/Anaconda/Progress/
|-- 4
|   `-- en
|       `-- 01-welcome.sed
|-- 5
|   `-- en
|       `-- 01-welcome.sed
`-- Tpl
    `-- en
        `-- 01-welcome.sed

     *Note* Release-specific translation directories preserve template
     translation directory structure and file names.

   In the example above, the template translation file looks like the
following:


# ------------------------------------------------------------
# $Id: Translations.texi 40 2010-09-15 19:52:23Z al $
# ------------------------------------------------------------
s/=TITLE=/Welcome to CentOS =MAJOR_RELEASE= !/
s/=TEXT1=/Thank you for installing CentOS =MAJOR_RELEASE=./
s/=TEXT2=/CentOS is an enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor./
s/=TEXT3=/CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork./
s/=TEXT4=//
s/=TEXT5=//
s/=TEXT6=//
s!=URL=!http://www.centos.org/!

   and, after render the translation entry, specific translation files
look like the following:


# Warning: Do not modify this file directly. This file is created
# automatically using 'centos-art' command line interface.  Any change
# you do in this file will be lost the next time you update
# translation files using 'centos-art' command line interface. If you
# want to improve the content of this translation file, improve its
# template file instead and run the 'centos-art' command line
# interface later to propagate your changes.
# ------------------------------------------------------------
# $Id: Translations.texi 40 2010-09-15 19:52:23Z al $
# ------------------------------------------------------------

s/=TITLE=/Welcome to CentOS =MAJOR_RELEASE= !/
s/=TEXT1=/Thank you for installing CentOS =MAJOR_RELEASE=./
s/=TEXT2=/CentOS is an enterprise-class Linux Distribution derived from sources freely provided to the public by a prominen t North American Enterprise Linux vendor./
s/=TEXT3=/CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. Cent OS mainly changes packages to remove upstream vendor branding and artwork./
s/=TEXT4=//
s/=TEXT5=//
s/=TEXT6=//
s!=URL=!http://www.centos.org/!

# Release number information.
s!=RELEASE=!=MAJOR_RELEASE=.=MINOR_RELEASE=!g
s!=MINOR_RELEASE=!0!g
s!=MAJOR_RELEASE=!5!g

   In the example above, relevant lines begin with the `s' word
followed by a separation character (e.g., `/', `!', etc.).  These lines
have the following format:


s/REGEXP/REPLACEMENT/FLAGS

   The `/' characters may be uniformly replaced by any other single
character within any given `s' command.  The `/' character (or whatever
other character is used in its stead) can appear in the REGEXP or
REPLACEMENT only if it is preceded by a `\' character.

   The `s' command is probably the most important in `sed' and has a
lot of different options.  Its basic concept is simple: the `s' command
attempts to match the pattern space against the supplied REGEXP; if the
match is successful, then that portion of the pattern space which was
matched is replaced with REPLACEMENT.

   In the context of our translation files, the REGEXP is where you
define translation markers and REPLACEMENT where you define the
translation text you want to have after artworks rendering.  Sometimes
we use the FLAG component with the `g' command to apply the
replacements globally.

     *Tip* More information about how to use `sed''s replacement
     commands and flags is available in `sed''s documentation manual.
     To read sed's documentation manual type the following command:
     info sed

   Inside translation files, you can use translation markers not only
inside the REGEXP but in the REPLACEMENT too. In order for this
configuration to work, the REPLACEMENT of translation markers needs to
be define _after_ its definition. For example, see in the
release-specific translation file above, how the `s!=MAJOR_RELASE=!5!g'
replacement command is defined _after_ `=MAJOR_RELASE=' translation
marker definition in the REPLACEMENT of `=TITLE=' translation marker
replacement command.

3.41.2.5 Common Translation Files
.................................

Common translation files contain common translations or no translation
at all for their related artworks.  They are in the root directory of
the translation entry. Common translation files create common artworks
for all major releases of CentOS Distribution.

   Translation entries, with common translation files inside, look like
the following:


trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
|-- 3
|   `-- splash-small.sed
|-- 4
|   `-- splash-small.sed
|-- 5
|   `-- splash-small.sed
|-- 6
|   `-- splash-small.sed
|-- Tpl
|   `-- splash-small.sed
`-- firstboot-left.sed      <-- common translation file.

3.41.2.6 Specific Translation Files
...................................

Specific translation files contain specific translations for their
related artworks. Specific translation files are not in the root
directory of the translation entry, but inside directories which
describe the type of translation they are doing. Specific translation
files are produced automatically using the `centos-art' script.


trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
|-- 3
|   `-- splash-small.sed    <-- CentOS 3 specific translation file.
|-- 4
|   `-- splash-small.sed    <-- CentOS 4 specific translation file.
|-- 5
|   `-- splash-small.sed    <-- CentOS 5 specific translation file.
|-- 6
|   `-- splash-small.sed    <-- CentOS 6 specific translation file.
|-- Tpl
|   `-- splash-small.sed
`-- firstboot-left.sed

3.41.2.7 Translation Rendering
..............................

When rendering translations, the `centos-art' script checks the
translation entry to verify that it has a translation template
directory inside. The translation template directory (`Tpl/') contains
common translation files used to build release-specific translation
files. If the translation template directory doesn't exist inside the
translation entry the translation rendering fails. In this case the
`centos-art' script outputs a message and quits script execution.

3.41.2.8 Translation (Pre-)Rendering Configuration Scripts
..........................................................

When the `centos-art' script finds a translation template directory
inside translation entry, it looks for translations pre-rendering
configuration scripts for that translation entry.  Translation
pre-rendering configuration scripts let you extend translation's
default functionality (described below).

   Translation pre-rendering configuration scripts are stored under
`trunk/Scripts' directory, specifically under the appropriate language
implementation. If you are using `centos-art' Bash's implementation,
the translation pre-rendering scripts are store in the
`trunk/Scripts/Bash/Config' location; if you are using `centos-art'
Python's implementation, then translation pre-rendering scripts are
stored in the `trunk/Scripts/Python/Config' location, and so on for
other implementations.

   Bash's translation pre-rendering configuration scripts look like the
following:


#!/bin/bash
#
# loadConfiguration.sh -- brief description here.
#
# Copyright (C) YEAR YOURNAME
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
#
# ----------------------------------------------------------------------
# $Id: Translations.texi 40 2010-09-15 19:52:23Z al $
# ----------------------------------------------------------------------

function loadConfiguration {
...
}

   Translation pre-rendering scripts are function scripts loaded and
executed when rendering a translation entry. Translation pre-rendering
scripts are loaded using the translation entry being rendered as
reference. For example, suppose you are using the `centos-art' Bash's
implementation, and you are rendering translations for CentOS brands,
in this situation the translation entry would be:


trunk/Translations/Identity/Brands

   and the entry inside the translation pre-rendering configuration
structure would be:


trunk/Scripts/Bash/Config/Identity/Brands

   Once the `centos-art' script detects that translation pre-rendering
configuration directory exists, the `centos-art' script looks for the
translation pre-rendering configuration file.  If the translation
pre-rendering configuration file exists, it is loaded and executed.
Once the translation pre-rendering configuration file has been executed
the translation rendering process is over, and so the script execution.

     *Note* Translation pre-rendering configuration files have the
     following form:
     render.conf.extension
      where `extension' refers the programming language implementation
     you are using. For example, `sh' for Bash's, `py' for Python's,
     `pl' for Perl's, and so on for other implementations.

   As we are using Bash implementation to describe the translation
pre-rendering configuration example, the translation pre-rendering
configuration file that `centos-art' looks for, inside the above
translation pre-rendering configuration directory, is `render.conf.sh'.

3.41.2.9 Translation Rendering Default Functionality
....................................................

In the other hand, if the translation pre-rendering configuration file
doesn't exist, or it isn't written as function script, the `centos-art'
script ignore translation pre-rendering configuration functionality and
passes to render translation using default functionality instead.

   The translation rendering default functionality takes template
translation directory structure, duplicates it for each release number
specified in the `--filter='release-number'' argument and produces
release-specific directories. As part of template translation
duplication process take place, the `centos-art' script adds
release-specific replacement commands to each specific translation file
inside release-specific directories. As result, specific translation
files, inside release-specific directories, contain template
translation replacement commands _plus_, release-specific replacement
commands.

     *Note* Release-specific replacement commands are standardized
     inside `centos-art' script using predifined release translation
     markers. Release translation markers are described in the
     translation marker section (*note Translation Markers:
     trunk:Translations:TranslationMarkers.).

3.41.3 Usage
------------

`centos-art render 'path/to/dir''
     When `path/to/dir' refers one directory under
     `trunk/Translations', this command orverwrites available
     translation files using translation templates.

`centos-art render 'path/to/dir' --filter='pattern''
     When `path/to/dir' refers one directory under
     `trunk/Translations', this command renders release-specific
     translation files as you specify in the `--filter='pattern''
     argument. In this case, `pattern' not a regular expression but an
     number (e.g., `5') or a list of numbers separated by commas (e.g.,
     `3,4,5,6') that specify the major release of CentOS distribution
     you want to render translations for.


3.41.4 See also
---------------

---------- Footnotes ----------

   (1) This number is an approximate value and may change.  It is
mainly based on CentOS 5 rebranding experience.

   (2) This value was taken from CentOS release schema.

   (3) This value was taken from the `locale -a' command's output.

3.42 trunk/Translations/Identity
================================

3.42.1 Goals
------------

   * ...

3.42.2 Description
------------------

   * ...

3.42.3 Usage
------------

   * ...

3.42.4 See also
---------------

3.43 trunk/Translations/Identity/Brands
=======================================

3.43.1 Goals
------------

   * Organize brands' translation files.

3.43.2 Description
------------------

Translation files, inside `trunk/Translations/Identity/Brands'
translation entry, don't use default rendering translation
functionality, they use the following translation pre-rendering
configuration file instead:


/home/centos/artwork/trunk/Translation/Identity/Brands/render.conf.sh

   Inside `trunk/Translations/Identity/Brands' translation entry,
translation files are symbolic links pointing to the common template
translation structure, inside the translation template (`Tpl/')
directory.

   Inside `trunk/Translations/Identity/Brands' translation entry,
translation files are created using identity design templates as
reference.  The translation pre-rendering script creates a translation
structure where the translation template (`Tpl/') directory structure
applies to each single design template available.

   For example, if the brands' translation template (`Tpl/') directory
has 30 translation files, and there are 20 design templates; the
brands' translation pre-rendering script creates a translation
structure of symbolic links where the 30 translation files apply the 20
design templates one by one, producing 600 translation symbolic links
as result. At this point, when rendering identity, the `centos-art'
script considers translation symbolic links as translation files.

   Translation file names, inside brands' translation template (`Tpl')
directory have special meaning:

3.43.2.1 Conventional file names
................................

Convenctional file names look like `blue.sed', `2c-a.sed', etc.
Replacement commands inside translation file are applied to design
templates and translation file names are used as final image name.  The
image dimensions use the same dimensions that design template has.

3.43.2.2 Numeric file names
...........................

Numeric file names look like `300.sed', `200.sed', etc.  Replacements
commands inside translation files are applied to design templates, and
translation file names are used as final image name.  The final image
is saved using an specific `width' defined by the number part of the
translation file name. The image `height' is automatically scaled based
on the previous `width' definition to maintain the design's ratio.

   For example, if your design template has 400x200 pixels of dimension,
and you apply a translation file named `300.sed' to it, the final image
you get as result will have 300x100 pixels of dimension.   The same is
true if you use higher numbers like `1024.sed', `2048.sed', etc. In
these cases you have bigger images proportionally.

   As we are using scalable vector graphics to design identity
templates, the image size you produce is not limitted in size. You can
use one design template produced in 400x200 pixels to produce larger or
shorter PNG images using numeric translation files as described above.

3.43.2.3 Translation markers
............................

Inside `trunk/Translations/Identity/Brands/', translation files combine
the following translation markers:

`#000000'
     Specify which color to use when rendering brand images.

          *Note* As translation files inside
          `trunk/Translations/Identity/Brands' are symbolic links that
          point to template translation files, translation markers are
          defined inside template translation files.

3.43.3 Usage
------------

To render brands' translation files, use the following command:


centos-art render --translation=/home/centos/artwork/trunk/Translations/Identity/Brands

3.43.4 See also
---------------

3.44 trunk/Translations/Identity/Brands/Tpl
===========================================

3.44.1 Goals
------------

3.44.2 Description
------------------

3.44.3 Usage
------------

3.44.4 See also
---------------

3.45 trunk/Translations/Identity/Fonts
======================================

3.45.1 Goals
------------

   * Organize fonts' translation files.

3.45.2 Description
------------------

Translation files, inside `trunk/Translations/Fonts', have the
following structure:


# ----------------------------------------------------------------------
# $Id: Fonts.texi 29 2010-09-12 05:32:26Z al $
# ----------------------------------------------------------------------

s!font-family:Denmark!font-family:DejaVu LGC Sans!
s!font-weight:normal!font-weight:bold!
s!font-style:normal!font-style:italic!

   Inside `trunk/Translations/Fonts', there is one translation file for
each font preview image you want to produce. This way, we create one
translation file for each font-family we use somewhere inside CentOS
visual identity.

     *Important* Do not create translation files for font-families not
     used somewhere inside CentOS visual identity. The font's identity
     entry (*note trunk Identity Fonts::) is used as reference when
     someone needs to know which font-families are allowed to use
     inside CentOS visual identity.

3.45.2.1 Translation Markers
............................

Inside `trunk/Translations/Identity/Fonts', translation files combine
the following translation markers:

`font-family:Denmark'
     Specify which font family to use when rendering font preview
     images.

`font-weight:normal'
     Specify which font weight to use when rendering font preview
     images.

`font-style:normal'
     Specify which font style to use when rendering font preview images.

3.45.3 Usage
------------

Inside `trunk/Translations/Fonts' you use your favorite text editor to
create translation files.  Inside `trunk/Translations/Fonts' there is
not translation template directory (`Tpl/'), nor translation rendering
using `centos-art' script.  For example, to create the
`dejavu_lgc_sans-boldoblique.sed' translation file using `vim' editor,
type the following command:


vim /home/centos/artwork/trunk/Translations/Fonts/dejavu_lgc_sans-boldoblique.sed

3.45.4 See also
---------------

3.46 trunk/Translations/Identity/Models
=======================================

3.46.1 Goals
------------

3.46.2 Description
------------------

3.46.3 Usage
------------

3.46.4 See also
---------------

3.47 trunk/Translations/Identity/Release
========================================

3.47.1 Goals
------------

3.47.2 Description
------------------

3.47.3 Usage
------------

3.47.4 See also
---------------

3.48 trunk/Translations/Identity/Themes
=======================================

3.48.1 Goals
------------

3.48.2 Description
------------------

3.48.3 Usage
------------

3.48.4 See also
---------------

3.49 trunk/Translations/Identity/Themes/Backgrounds
===================================================

3.49.1 Goals
------------

   * ...

3.49.2 Description
------------------

   * ...

3.49.3 Usage
------------

   * ...

3.49.4 See also
---------------

3.50 trunk/Translations/Identity/Themes/Distro/Anaconda/Progress
================================================================

3.50.1 Goals
------------

   * Organize Anaconda progress translation templates.

   * Organize Anaconda progress translation files in several languages
     and major releases of CentOS distribution.

3.50.2 Description
------------------

Use the following command to produce translation files based:

     trunk/Translations/Identity/Themes/Distro/Anaconda/Progress
     `-- Tpl
         |-- en
         |   |-- 01-welcome.sed
         |   |-- 02-donate.sed
         |   `-- 03-yum.sed
         `-- es
             |-- 01-welcome.sed
             |-- 02-donate.sed
             `-- 03-yum.sed

   In order to produce the slide images in PNG format we need to have
the translation files first. So we use the following commands to create
translation files for CentOS 3, 4, and 5 major releases:

     centos-art render --translation --filter='3,4,5'

   The above commands will produce the following translation structure:

     trunk/Translations/Identity/Themes/Distro/Anaconda/Progress
     |-- 3
     |   |-- en
     |   |   |-- 01-welcome.sed
     |   |   |-- 02-donate.sed
     |   |   `-- 03-yum.sed
     |   `-- es
     |       |-- 01-welcome.sed
     |       |-- 02-donate.sed
     |       `-- 03-yum.sed
     |-- 4
     |   |-- en
     |   |   |-- 01-welcome.sed
     |   |   |-- 02-donate.sed
     |   |   `-- 03-yum.sed
     |   `-- es
     |       |-- 01-welcome.sed
     |       |-- 02-donate.sed
     |       `-- 03-yum.sed
     |-- 5
     |   |-- en
     |   |   |-- 01-welcome.sed
     |   |   |-- 02-donate.sed
     |   |   `-- 03-yum.sed
     |   `-- es
     |       |-- 01-welcome.sed
     |       |-- 02-donate.sed
     |       `-- 03-yum.sed
     `-- Tpl
         |-- en
         |   |-- 01-welcome.sed
         |   |-- 02-donate.sed
         |   `-- 03-yum.sed
         `-- es
             |-- 01-welcome.sed
             |-- 02-donate.sed
             `-- 03-yum.sed

   At this point we have all the translation files we need to produce
Anaconda progress welcome, donate and yum slides images; in English and
Spanish languages; for CentOS 3, CentOS 4, and CentOS 5. That is, a sum
of 18 images around.

   Now, with translation files in place, let's move to `trunk/Identity'
structure and render them.

   * *Note trunk Identity Themes Motifs Modern Distro Anaconda
     Progress::.

3.50.3 Usage
------------

Translation rendering is described in `trunk/Translations'
documentation entry (*note trunk Translations::).

3.50.4 See also
---------------

3.51 trunk/Translations/Identity/Widgets
========================================

3.51.1 Goals
------------

   * ...

3.51.2 Description
------------------

   * ...

3.51.3 Usage
------------

   * ...

3.51.4 See also
---------------

Index
*****

branches:                                      See 1.        (line  322)
Common translation files:                      See 3.41.2.5. (line 2601)
How to render brands' translation files:       See 3.43.3.   (line 2906)
How to render fonts' translation files:        See 3.45.3.   (line 2983)
How to render translation files:               See 3.41.3.   (line 2771)
Specific translation files:                    See 3.41.2.6. (line 2626)
tags:                                          See 2.        (line  325)
Template translation files:                    See 3.41.2.4. (line 2431)
Translation brands file names:                 See 3.43.2.1. (line 2863)
Translation configuration scripts:             See 3.41.2.8. (line 2660)
Translation entries:                           See 3.41.2.1. (line 2247)
Translation files:                             See 3.41.2.3. (line 2363)
Translation markers:                           See 3.41.2.2. (line 2328)
Translation paths:                             See 3.41.2.1. (line 2247)
Translation pre-rendering configuration scripts:See 3.41.2.8.
                                                             (line 2660)
Translation rendering:                         See 3.41.2.7. (line 2649)
Translation rendering default functionality:   See 3.41.2.9. (line 2746)
trunk:                                         See 3.        (line  328)
trunk Identity:                                See 3.1.      (line  331)
trunk Identity Brands:                         See 3.2.      (line  751)
trunk Identity Fonts:                          See 3.3.      (line  768)
trunk Identity Icons:                          See 3.4.      (line  785)
trunk Identity Isolinux:                       See 3.5.      (line  802)
trunk Identity Models:                         See 3.6.      (line  819)
trunk Identity Release:                        See 3.7.      (line  836)
trunk Identity Themes:                         See 3.8.      (line  853)
trunk Identity Themes Models:                  See 3.9.      (line  878)
trunk Identity Themes Models Alternative:      See 3.10.     (line  911)
trunk Identity Themes Models Default:          See 3.11.     (line  938)
trunk Identity Themes Models Default Distro:   See 3.12.     (line  970)
trunk Identity Themes Models Default Distro Anaconda:See 3.13.
                                                             (line 1054)
trunk Identity Themes Models Default Promo:    See 3.14.     (line 1071)
trunk Identity Themes Models Default Web:      See 3.15.     (line 1097)
trunk Identity Themes Motifs:                  See 3.16.     (line 1122)
trunk Identity Themes Motifs Modern Backgrounds:See 3.17.    (line 1226)
trunk Identity Themes Motifs Modern Backgrounds Img:See 3.18.
                                                             (line 1348)
trunk Identity Themes Motifs Modern Backgrounds Tpl:See 3.19.
                                                             (line 1369)
trunk Identity Themes Motifs Modern Backgrounds Xcf:See 3.20.
                                                             (line 1390)
trunk Identity Themes Motifs Modern Distro Anaconda Progress:See 3.21.
                                                             (line 1417)
trunk Identity Themes Motifs Modern Palettes:  See 3.22.     (line 1473)
trunk Identity Themes Motifs TreeFlower:       See 3.23.     (line 1495)
trunk Identity Widgets:                        See 3.24.     (line 1512)
trunk Manuals:                                 See 3.25.     (line 1529)
trunk Scripts:                                 See 3.26.     (line 1583)
trunk Scripts Bash:                            See 3.27.     (line 1607)
trunk Scripts Bash Config:                     See 3.28.     (line 1773)
trunk Scripts Bash Config Identity:            See 3.29.     (line 1887)
trunk Scripts Bash Config Translations:        See 3.30.     (line 1908)
trunk Scripts Bash Functions:                  See 3.31.     (line 1929)
trunk Scripts Bash Functions Config:           See 3.32.     (line 1950)
trunk Scripts Bash Functions Config cli_getActions.sh:See 3.34.
                                                             (line 1992)
trunk Scripts Bash Functions Config cli_getActionsIdentity.sh:See 3.33.
                                                             (line 1971)
trunk Scripts Bash Functions Config cli_getActionsTranslations.sh:See 3.35.
                                                             (line 2013)
trunk Scripts Bash Functions Config cli_getIdentityMatchinglist.sh:See 3.36.
                                                             (line 2034)
trunk Scripts Bash Functions Config repo_renderIdentitySyslinux.sh:See 3.37.
                                                             (line 2055)
trunk Scripts Bash Locale:                     See 3.38.     (line 2076)
trunk Scripts Perl:                            See 3.39.     (line 2160)
trunk Scripts Python:                          See 3.40.     (line 2177)
trunk Translations:                            See 3.41.     (line 2198)
trunk Translations Identity:                   See 3.42.     (line 2801)
trunk Translations Identity Brands:            See 3.43.     (line 2822)
trunk Translations Identity Brands Tpl:        See 3.44.     (line 2917)
trunk Translations Identity Fonts:             See 3.45.     (line 2932)
trunk Translations Identity Models:            See 3.46.     (line 2999)
trunk Translations Identity Release:           See 3.47.     (line 3014)
trunk Translations Identity Themes:            See 3.48.     (line 3029)
trunk Translations Identity Themes Backgrounds:See 3.49.     (line 3044)
trunk Translations Identity Themes Distro Anaconda Progress:See 3.50.
                                                             (line 3065)
trunk Translations Identity Widgets:           See 3.51.     (line 3158)
List of Figures
***************