82 lines
3.7 KiB
Ruby
82 lines
3.7 KiB
Ruby
# Copyright (c) 2018(-2023) STMicroelectronics.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of the TouchGFX 4.21.2 distribution.
|
|
#
|
|
# This software is licensed under terms that can be found in the LICENSE file in
|
|
# the root directory of this software component.
|
|
# If no LICENSE file comes with this software, it is provided AS-IS.
|
|
#
|
|
###############################################################################/
|
|
require 'lib/file_io'
|
|
require 'lib/emitters/template'
|
|
require 'lib/emitters/text_keys_and_languages_hpp'
|
|
require 'lib/emitters/texts_cpp'
|
|
require 'lib/emitters/languages_cpp'
|
|
require 'lib/emitters/languages_bin'
|
|
require 'lib/emitters/unicodes_txt'
|
|
require 'lib/emitters/fonts_cpp'
|
|
require 'lib/emitters/generated_font_cpp'
|
|
require 'lib/emitters/generated_font_hpp'
|
|
require 'lib/emitters/unmapped_data_font_cpp'
|
|
require 'lib/emitters/unmapped_data_font_hpp'
|
|
require 'lib/emitters/cached_font_cpp'
|
|
require 'lib/emitters/cached_font_hpp'
|
|
require 'lib/emitters/font_cache_cpp'
|
|
require 'lib/emitters/font_cache_hpp'
|
|
require 'lib/emitters/application_font_provider_hpp'
|
|
require 'lib/emitters/application_font_provider_cpp'
|
|
require 'lib/emitters/typed_text_database_hpp'
|
|
require 'lib/emitters/typed_text_database_cpp'
|
|
|
|
class Outputter
|
|
def initialize(string_indices, characters, text_entries, typographies, languages, localization_output_directory, fonts_output_directory, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, generate_font_format)
|
|
@string_indices = string_indices #dictionary of all string indices into the characters array
|
|
@characters = characters #one array of the needed strings in optimal order
|
|
@text_entries = text_entries
|
|
@typographies = typographies
|
|
@languages = languages
|
|
@localization_output_directory = localization_output_directory
|
|
@fonts_output_directory = fonts_output_directory
|
|
@font_asset_path = font_asset_path
|
|
@data_format = data_format
|
|
@remap_global = remap_global
|
|
@autohint_setting = autohint_setting
|
|
@generate_binary_translations = generate_binary_translations
|
|
@generate_binary_fonts = generate_binary_fonts
|
|
@generate_font_format = generate_font_format
|
|
end
|
|
|
|
def run
|
|
|
|
[ GeneratedFontHpp,
|
|
GeneratedFontCpp,
|
|
UnmappedDataFontHpp,
|
|
UnmappedDataFontCpp,
|
|
CachedFontHpp,
|
|
CachedFontCpp,
|
|
FontCacheHpp,
|
|
FontCacheCpp,
|
|
UnicodesTxt ].each { |template| template.new(@text_entries, @typographies, @languages, @fonts_output_directory).run }
|
|
|
|
[ ApplicationFontProviderCpp,
|
|
ApplicationFontProviderHpp ].each { |template| template.new(@text_entries, @typographies, @languages, @fonts_output_directory, @generate_font_format).run }
|
|
|
|
[ TextKeysAndLanguages,
|
|
TypedTextDatabaseHpp].each { |template| template.new(@text_entries, @typographies, @languages, @localization_output_directory).run }
|
|
|
|
TypedTextDatabaseCpp.new(@text_entries, @typographies, @languages, @localization_output_directory, @generate_binary_translations, @generate_font_format).run
|
|
|
|
TextsCpp.new(@characters, @text_entries, @typographies, @languages, @localization_output_directory, @remap_global, @generate_binary_translations).run
|
|
|
|
LanguagesCpp.new(@string_indices, @characters, @text_entries, @languages, @localization_output_directory, @remap_global, @generate_binary_translations).run
|
|
|
|
FontsCpp.new(@text_entries, @typographies, @languages, @fonts_output_directory, @font_asset_path, @autohint_setting, @data_format, @generate_binary_fonts, @generate_font_format).run
|
|
|
|
if @generate_binary_translations.downcase == 'yes'
|
|
[ LanguagesBin ].each { |template| template.new(@text_entries, @typographies, @languages, @localization_output_directory).run }
|
|
end
|
|
end
|
|
end
|
|
|