diff options
Diffstat (limited to 'src/make_unicode_fold_data.py')
-rwxr-xr-x | src/make_unicode_fold_data.py | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/src/make_unicode_fold_data.py b/src/make_unicode_fold_data.py index 64aa3a2..5c87d4c 100755 --- a/src/make_unicode_fold_data.py +++ b/src/make_unicode_fold_data.py @@ -1,7 +1,7 @@ #!/usr/bin/python # -*- coding: utf-8 -*- # make_unicode_fold_data.py -# Copyright (c) 2016-2017 K.Kosako +# Copyright (c) 2016-2018 K.Kosako import sys import re @@ -234,20 +234,51 @@ def output_fold_source(f, out_comment): print >> f, '#include "regenc.h"' print >> f, '' if VERSION_INFO is not None: - print "#define CASEFOLD_VERSION %s" % re.sub(r'[\.-]', '_', VERSION_INFO) + print "#define UNICODE_CASEFOLD_VERSION %s" % re.sub(r'[\.-]', '_', VERSION_INFO) print '' #output_macros(f, DataName) print >> f, '' #output_typedef(f) output_fold_data(f, DataName, out_comment) -def output_gperf_unfold_key(f): - head = """\ + +HEAD = ''' %{ /* This gperf source file was generated by make_unicode_fold_data.py */ + +/*- + * Copyright (c) 2017-2018 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ #include <string.h> #include "regenc.h" %} +'''.strip() + +def output_gperf_unfold_key(f): + head = HEAD + """\ + struct ByUnfoldKey { OnigCodePoint code; short int index; @@ -266,12 +297,8 @@ struct ByUnfoldKey { print >> f, '%%' def output_gperf_fold_key(f, key_len): - head = """\ -%{ -/* This gperf source file was generated by make_unicode_fold_data.py */ -#include <string.h> -#include "regenc.h" -%} + head = HEAD + """\ + short int %% """ |