New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Является ли символ COMBINING GREEK YPOGEGRAMMENI диакритиком

Ветка для общения разработчиков и координации разработки

Является ли символ COMBINING GREEK YPOGEGRAMMENI диакритиком

Postby Michael72 » Sun Apr 19, 2015 9:01 pm

Функция iswalnum для символа COMBINING GREEK YPOGEGRAMMENI возвращает 1:
iswalnum(0x345)=1,
однако, здесь утверждается, что это диакритик. Цитирую:
"The iota subscript is a diacritic mark in the Greek alphabet..."

Вопрос: функция iswalnum работает с ошибкой? Если да, то как это можно исправить? Куда обратиться, чтобы в будущих дистрибутивах Linux эта ошибка была исправлена?
Для теста функции iswalnum создал код - test4iswalnum.c:
Code: Select all
#include <stdio.h>
#include <locale.h>
#include <wctype.h>
#include <inttypes.h>
#include <stdlib.h>
#include <string.h>

#define HAVE_CONFIG_H 1

int main (int argc, char** argv)
{
        if (!setlocale(LC_CTYPE, "")){
                perror("setlocale(3) failed");
                return 1;
        }
        wchar_t wc;
        mbtowc (NULL, NULL, 0);
        mbtowc(&wc, argv[1], strlen(argv[1]));
        printf("iswalnum(0x%" PRIxMAX ")=%d\n", (intmax_t) wc, iswalnum(wc));
        return 0;
}

Компилировал:
Code: Select all
gcc -Wall -o test4iswalnum test4iswalnum.c
и проверил:
Code: Select all
$ LC_CTYPE='C.UTF-8' ./test4iswalnum  ͅ
iswalnum(0x345)=1

Тест производился в Debian.
Michael72
 
Posts: 180
Joined: Tue Mar 12, 2013 1:34 pm

Return to Разработка

Who is online

Users browsing this forum: Google [Bot] and 2 guests