Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
f563f506
Commit
f563f506
authored
Jan 30, 2010
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove GetFallbackEncoding()
parent
2a9525ee
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
0 additions
and
237 deletions
+0
-237
include/vlc_charset.h
include/vlc_charset.h
+0
-2
src/Makefile.am
src/Makefile.am
+0
-1
src/libvlccore.sym
src/libvlccore.sym
+0
-1
src/text/wincp.c
src/text/wincp.c
+0
-233
No files found.
include/vlc_charset.h
View file @
f563f506
...
...
@@ -111,8 +111,6 @@ static inline char *FromLatin1 (const char *latin)
VLC_EXPORT
(
char
*
,
FromCharset
,
(
const
char
*
charset
,
const
void
*
data
,
size_t
data_size
)
LIBVLC_USED
);
VLC_EXPORT
(
const
char
*
,
GetFallbackEncoding
,
(
void
)
LIBVLC_USED
);
VLC_EXPORT
(
double
,
us_strtod
,
(
const
char
*
,
char
**
)
LIBVLC_USED
);
VLC_EXPORT
(
float
,
us_strtof
,
(
const
char
*
,
char
**
)
LIBVLC_USED
);
VLC_EXPORT
(
double
,
us_atof
,
(
const
char
*
)
LIBVLC_USED
);
...
...
src/Makefile.am
View file @
f563f506
...
...
@@ -399,7 +399,6 @@ SOURCES_libvlc_common = \
text/strings.c
\
text/unicode.c
\
text/filesystem.c
\
text/wincp.c
\
text/iso_lang.c
\
text/iso-639_def.h
\
misc/md5.c
\
...
...
src/libvlccore.sym
View file @
f563f506
...
...
@@ -140,7 +140,6 @@ filter_NewBlend
FromLocale
FromLocaleDup
FromCharset
GetFallbackEncoding
GetLang_1
GetLang_2B
GetLang_2T
...
...
src/text/wincp.c
deleted
100644 → 0
View file @
2a9525ee
/*****************************************************************************
* wincp.c: Guessing "local" ANSI code page on Microsoft Windows®
*****************************************************************************
*
* Copyright © 2006-2007 Rémi Denis-Courmont
* $Id$
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser 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 Lesser 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.
*****************************************************************************/
/*** We need your help to complete this file!! Look for FIXME ***/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <vlc_common.h>
#ifndef WIN32
# include <locale.h>
#else
# include <windows.h>
#endif
#ifdef __APPLE__
# include <string.h>
#endif
#include <vlc_charset.h>
#ifndef WIN32
/* should work on Win32, but useless */
static
inline
int
locale_match
(
const
char
*
tab
,
const
char
*
locale
)
{
for
(;
*
tab
;
tab
+=
2
)
if
(
memcmp
(
tab
,
locale
,
2
)
==
0
)
return
0
;
return
1
;
}
/**
* @return a fallback characters encoding to be used, given a locale.
*/
static
const
char
*
FindFallbackEncoding
(
const
char
*
locale
)
{
if
((
locale
==
NULL
)
||
(
strlen
(
locale
)
<
2
)
||
!
strcasecmp
(
locale
,
"POSIX"
))
return
"CP1252"
;
/* Yeah, this is totally western-biased */
/*** The ISO-8859 series (anything but Asia) ***/
// Latin-1 Western-European languages (ISO-8859-1)
static
const
char
western
[]
=
"aa"
"af"
"an"
"br"
"ca"
"da"
"de"
"en"
"es"
"et"
"eu"
"fi"
"fo"
"fr"
"ga"
"gd"
"gl"
"gv"
"id"
"is"
"it"
"kl"
"kw"
"mg"
"ms"
"nb"
"nl"
"nn"
"no"
"oc"
"om"
"pt"
"so"
"sq"
"st"
"sv"
"tl"
"uz"
"wa"
"xh"
"zu"
"eo"
"mt"
"cy"
;
if
(
!
locale_match
(
western
,
locale
))
return
"CP1252"
;
// Compatible Microsoft superset
// Latin-2 Slavic languages (ISO-8859-2)
static
const
char
slavic
[]
=
"bs"
"cs"
"hr"
"hu"
"pl"
"ro"
"sk"
"sl"
;
if
(
!
locale_match
(
slavic
,
locale
))
return
"CP1250"
;
// CP1250 is more common, but incompatible
// Latin-3 Southern European languages (ISO-8859-3)
// "eo" and "mt" -> Latin-1 instead, I presume(?).
// "tr" -> ISO-8859-9 instead
// Latin-4 North-European languages (ISO-8859-4)
// -> Latin-1 instead
/* Cyrillic alphabet languages (ISO-8859-5) */
static
const
char
cyrillic
[]
=
"be"
"bg"
"mk"
"ru"
"sr"
"mn"
;
// FIXME: cyrillic only true for mn in Mongolia
if
(
!
locale_match
(
cyrillic
,
locale
))
return
"CP1251"
;
// KOI8, ISO-8859-5 and CP1251 are incompatible(?)
/* Arabic (ISO-8859-6) */
static
const
char
arabic
[]
=
"ar"
"fa"
;
if
(
!
locale_match
(
arabic
,
locale
))
// FIXME: someone check if we should return CP1256 or ISO-8859-6
return
"CP1256"
;
// CP1256 is(?) more common, but incompatible(?)
/* Greek (ISO-8859-7) */
if
(
!
locale_match
(
"el"
,
locale
))
// FIXME: someone check if we should return CP1253 or ISO-8859-7
return
"CP1253"
;
// CP1253 is(?) more common and less incompatible
/* Hebrew (ISO-8859-8) */
if
(
!
locale_match
(
"he"
"iw"
"yi"
,
locale
))
return
"ISO-8859-8"
;
// CP1255 is reportedly screwed up
/* Latin-5 Turkish (ISO-8859-9) */
if
(
!
locale_match
(
"tr"
"ku"
,
locale
))
return
"CP1254"
;
// Compatible Microsoft superset
/* Latin-6 “North-European” languages (ISO-8859-10) */
/* It is so much north European that glibc only uses that for Luganda
* which is spoken in Uganda... unless someone complains, I'm not
* using this one; let's fallback to CP1252 here. */
// ISO-8859-11 does arguably not exist. Thai is handled below.
// ISO-8859-12 really doesn't exist.
// Latin-7 Baltic languages (ISO-8859-13)
if
(
!
locale_match
(
"lt"
"lv"
"mi"
,
locale
))
// FIXME: mi = New Zealand, doesn't sound baltic!
return
"CP1257"
;
// Compatible Microsoft superset
// Latin-8 Celtic languages (ISO-8859-14)
// "cy" -> use Latin-1 instead (most likely English or French)
// Latin-9 (ISO-8859-15) -> see Latin-1
// Latin-10 (ISO-8859-16) does not seem to be used
/*** KOI series ***/
// For Russian, we use CP1251
if
(
!
locale_match
(
"uk"
,
locale
))
return
"KOI8-U"
;
if
(
!
locale_match
(
"tg"
,
locale
))
return
"KOI8-T"
;
/*** Asia ***/
// Japanese
if
(
!
locale_match
(
"jp"
,
locale
))
return
"SHIFT-JIS"
;
// Shift-JIS is way more common than EUC-JP
// Korean
if
(
!
locale_match
(
"ko"
,
locale
))
return
"CP949"
;
// Microsoft non-standard superset of EUC-KR
// Thai
static
const
char
thai
[]
=
"th"
"km"
"lo"
;
//FIXME: afaik, khmer and lao are/were not in windows and are close to tahi
if
(
!
locale_match
(
thai
,
locale
))
return
"TIS-620"
;
// Vietnamese (FIXME: more infos needed)
if
(
!
locale_match
(
"vt"
,
locale
))
/* VISCII is probably a bad idea as it is not extended ASCII */
/* glibc has TCVN5712-1 */
return
"CP1258"
;
/* Kazakh (FIXME: more infos needed) */
if
(
!
locale_match
(
"kk"
,
locale
))
return
"PT154"
;
// Chinese. The politically incompatible character sets.
if
(
!
locale_match
(
"zh"
,
locale
))
{
if
((
strlen
(
locale
)
>=
5
)
&&
(
locale
[
2
]
!=
'_'
))
locale
+=
3
;
// Hong Kong
if
(
!
locale_match
(
"HK"
,
locale
))
return
"BIG5-HKSCS"
;
/* FIXME: use something else? */
// Taiwan island
if
(
!
locale_match
(
"TW"
,
locale
))
return
"BIG5"
;
// People's Republic of China and Singapore
/*
* GB18030 can represent any Unicode code point
* (like UTF-8), while remaining compatible with GBK
* FIXME: is it compatible with GB2312? if not, should we
* use GB2312 instead?
*/
return
"GB18030"
;
}
return
"ASCII"
;
}
#endif
/**
* GetFallbackEncoding() suggests an encoding to be used for non UTF-8
* text files accord to the system's local settings. It is only a best
* guess.
*/
const
char
*
GetFallbackEncoding
(
void
)
{
#ifndef WIN32
const
char
*
psz_lang
;
psz_lang
=
getenv
(
"LC_ALL"
);
if
((
psz_lang
==
NULL
)
||
!*
psz_lang
)
{
psz_lang
=
getenv
(
"LC_CTYPE"
);
if
((
psz_lang
==
NULL
)
||
!*
psz_lang
)
psz_lang
=
getenv
(
"LANG"
);
}
return
FindFallbackEncoding
(
psz_lang
);
#else
static
char
buf
[
16
]
=
""
;
static
vlc_mutex_t
lock
=
VLC_STATIC_MUTEX
;
vlc_mutex_lock
(
&
lock
);
if
(
buf
[
0
]
==
0
)
{
int
cp
=
GetACP
();
switch
(
cp
)
{
case
1255
:
// Hebrew, CP1255 screws up somewhat
strcpy
(
buf
,
"ISO-8859-8"
);
break
;
default:
snprintf
(
buf
,
sizeof
(
buf
),
"CP%u"
,
cp
);
}
}
vlc_mutex_unlock
(
&
lock
);
return
buf
;
#endif
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment