X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fcharset.h;h=1564f3fb750fcae384f56ba154535612afc1f492;hb=1006a43225842d77e5fdb32e9d02bada5cdc2377;hp=0999e8ef3d572d9edb463a23257ad7f98ee0fe5b;hpb=c39eb2cdf399c740c24884997364cf84c64fd46b;p=ncmpc.git diff --git a/src/charset.h b/src/charset.h index 0999e8e..1564f3f 100644 --- a/src/charset.h +++ b/src/charset.h @@ -1,6 +1,6 @@ -/* - * (c) 2006 by Kalle Wallin - * Copyright (C) 2008 Max Kellermann +/* ncmpc (Ncurses MPD Client) + * (c) 2004-2010 The Music Player Daemon Project + * Project homepage: http://musicpd.org * * 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 @@ -11,10 +11,10 @@ * 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 * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef CHARSET_H @@ -22,8 +22,9 @@ #include "config.h" +#include + #include -#include #ifdef ENABLE_LOCALE const char * @@ -33,10 +34,42 @@ charset_init(void); /** * Returns the number of terminal cells occupied by this string. */ +G_GNUC_PURE unsigned utf8_width(const char *str); +/** + * Returns the number of terminal cells occupied by this string. + */ +G_GNUC_PURE +unsigned +locale_width(const char *p); + +/** + * Limits the width of the specified string. Cuts it off before the + * specified width is exceeded. + * + * @return the resulting width of the string + */ +unsigned +utf8_cut_width(char *p, unsigned max_width); + char *utf8_to_locale(const char *str); char *locale_to_utf8(const char *str); +/** + * Converts the UTF-8 string to the locale, and frees the source + * pointer. Returns the source pointer as-is if no conversion is + * required. + */ +char * +replace_utf8_to_locale(char *src); + +/** + * Converts the locale string to UTF-8, and frees the source pointer. + * Returns the source pointer as-is if no conversion is required. + */ +char * +replace_locale_to_utf8(char *src); + #endif