2020-10-14 14:23:49 +01:00
/*
* bftff . h
*
* Copyright ( c ) 2018 , simontime .
2024-04-12 10:47:36 +01:00
* Copyright ( c ) 2020 - 2024 , DarkMatterCore < pabloacurielz @ gmail . com > .
2020-10-14 14:23:49 +01:00
*
* This file is part of nxdumptool ( https : //github.com/DarkMatterCore/nxdumptool).
*
2021-03-25 19:26:58 +00:00
* nxdumptool 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 3 of the License , or
* ( at your option ) any later version .
2020-10-14 14:23:49 +01:00
*
2021-03-25 19:26:58 +00:00
* nxdumptool 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 .
2020-10-14 14:23:49 +01:00
*
* You should have received a copy of the GNU General Public License
2021-03-25 19:26:58 +00:00
* along with this program . If not , see < https : //www.gnu.org/licenses/>.
2020-10-14 14:23:49 +01:00
*/
# pragma once
2021-03-24 17:25:19 +00:00
# ifndef __BFTTF_H__
# define __BFTTF_H__
2021-03-23 14:06:52 +00:00
# ifdef __cplusplus
extern " C " {
# endif
2020-10-14 14:23:49 +01:00
/// Loosely based on PlSharedFontType.
typedef enum {
2021-03-29 19:27:35 +01:00
BfttfFontType_Standard = 0 , ///< Japan, US and Europe.
BfttfFontType_NintendoExt = 1 , ///< Extended Nintendo. This font contains special, Nintendo-specific characters, which aren't available in the other fonts.
BfttfFontType_Korean = 2 , ///< Korean (Hangul).
BfttfFontType_ChineseSimplified = 3 , ///< Simplified Chinese.
BfttfFontType_ExtChineseSimplified = 4 , ///< Extended Simplified Chinese.
BfttfFontType_ChineseTraditional = 5 , ///< Traditional Chinese.
2023-07-17 00:03:05 +01:00
BfttfFontType_Count = 6 ///< Total fonts supported by this enum.
2020-10-14 14:23:49 +01:00
} BfttfFontType ;
/// Loosely based on PlFontData.
typedef struct {
2021-03-30 20:30:10 +01:00
u8 type ; ///< BfttfFontType.
u32 size ; ///< Decoded BFTFF font size.
void * address ; ///< Font data address.
2020-10-14 14:23:49 +01:00
} BfttfFontData ;
/// Initializes the BFTTF interface.
bool bfttfInitialize ( void ) ;
/// Closes the BFTTF interface.
void bfttfExit ( void ) ;
/// Returns a specific BFTTF font using the provided BfttfFontType.
bool bfttfGetFontByType ( BfttfFontData * font , u8 font_type ) ;
2021-03-23 14:06:52 +00:00
# ifdef __cplusplus
}
2021-03-24 17:25:19 +00:00
# endif
# endif /* __BFTTF_H__ */