office-gobmx/i18npool/inc/breakiterator_cjk.hxx
Jonathan Clark 14c6cde779 tdf#49885 Updated CJK BreakIterator to use ICU
Previously, the CJK BreakIterator used custom dictionaries for Chinese
and Japanese. This change removes these custom dictionaries in favor of
the upstream ICU implementation, which uses an externally-maintained
frequency dictionary for these languages.

This change also removes support code for dictionary-based break
iterators, as it is no longer used.

Change-Id: I55c4ce9c842d1751997309fd7446e0a6917915dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166136
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-03 12:30:59 +02:00

61 lines
1.8 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#pragma once
#include "breakiterator_unicode.hxx"
#include <optional>
#include <memory>
namespace i18npool {
class BreakIterator_CJK : public BreakIterator_Unicode
{
public:
BreakIterator_CJK();
css::i18n::LineBreakResults SAL_CALL getLineBreak( const OUString& Text, sal_Int32 nStartPos,
const css::lang::Locale& nLocale, sal_Int32 nMinBreakPos,
const css::i18n::LineBreakHyphenationOptions& hOptions,
const css::i18n::LineBreakUserOptions& bOptions ) override;
protected:
OUString hangingCharacters;
};
class BreakIterator_zh final : public BreakIterator_CJK {
public:
BreakIterator_zh();
};
class BreakIterator_zh_TW final : public BreakIterator_CJK {
public:
BreakIterator_zh_TW();
};
class BreakIterator_ja final : public BreakIterator_CJK {
public:
BreakIterator_ja();
};
class BreakIterator_ko final : public BreakIterator_CJK {
public:
BreakIterator_ko();
};
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */