Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9179134
  • 博文数量: 1728
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 19870
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1728)

文章存档

2024年(4)

2023年(26)

2022年(112)

2021年(217)

2020年(157)

2019年(192)

2018年(81)

2017年(78)

2016年(70)

2015年(52)

2014年(40)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: 其他平台

2021-05-28 18:04:00

linux上的输入法确实是个问题.  通过libpinyin库则实现拼音到文字的转换.


点击(此处)折叠或打开

  1. #include <pinyin.h>
  2. #include <stdio.h>

  3. int main()
  4. {
  5.     char input[64];
  6.     pinyin_context_t * context = pinyin_init (SYSTEM_CONF, ""); //SYSTEM_CONF编译时指定的变量

  7.     if (context == NULL)
  8.     {
  9.         printf("Context not allocted...\n");
  10.         return 1;
  11.     }

  12.     pinyin_instance_t * instance = pinyin_alloc_instance (context);

  13.     if (instance == NULL)
  14.     {
  15.         printf("Instance not allocted...\n");
  16.         return 1;
  17.     }

  18.     printf("Please input pinyin:\n");

  19.     scanf("%s", input);

  20.     pinyin_parse_more_full_pinyins (instance, input);

  21.     pinyin_guess_sentence (instance);

  22.     guint number;

  23.     pinyin_guess_candidates(instance, 0, {});

  24.     pinyin_get_n_candidate (instance, &number);

  25.     printf ("%s has %d candidates\n", input, number);

  26.     for (guint i = 0; i < 5 && i < number; ++i)
  27.     {
  28.         lookup_candidate_t * candidate;
  29.         pinyin_get_candidate(instance, i, &candidate);

  30.         const gchar *display_string;
  31.         pinyin_get_candidate_string(instance, candidate, &display_string);
  32.         printf("%s\t", display_string);
  33.     }
  34.     printf("\n");

  35.     pinyin_free_instance (instance);

  36.     pinyin_fini (context);

  37.     return 0;
  38. }


  39. CFLAGS     := --std=c++11 $(shell pkg-config --cflags libpinyin)
  40. LIBS     := $(shell pkg-config --libs libpinyin)
  41. DATADIR := $(shell pkg-config --variable=pkgdatadir libpinyin)

  42. test_pinyin_parse_functions.out: test_pinyin_parse_functions.c
  43.     g++ -D SYSTEM_CONF=\"$(DATADIR)/data\" $(CFLAGS) $(LIBS) test_pinyin_parse_functions.c -o test_pinyin_parse_functions.out
OK, 现在是不是可以用某个 UI component 制作自己的汉字输入法了.
阅读(1324) | 评论(0) | 转发(0) |
0

上一篇:linux snap包

下一篇:ROS2 rmw_connextdds

给主人留下些什么吧!~~