Browse Source

Определение языка

master
Maxim Likhachev 5 years ago
parent
commit
164b056d6c
  1. 25
      press-n-post

25
press-n-post

@ -5,8 +5,6 @@ package require Img @@ -5,8 +5,6 @@ package require Img
package require fileutil
package require platform
# TODO: Определение языка по классу символов, использованных в названии
#----------------------------------------------------------------------
#
# Copyright (C) 2019, Maxim Lihachev, <envrm@yandex.ru>
@ -76,7 +74,7 @@ namespace eval pdf { @@ -76,7 +74,7 @@ namespace eval pdf {
category: Исследования
pages:
year:
language: RUS
language: $::pdf::language
filesize: $::pdf::tags(File Size)
pdf: $::pdf::file
tags:
@ -131,6 +129,26 @@ namespace eval pdf { @@ -131,6 +129,26 @@ namespace eval pdf {
}
}
# Определение языка по названию
proc guess_language {title} {
# Базовый набор символов
set eng {[a-z[:space:][:punct:]]}
switch -nocase -regexp $title "^${eng}*\[äöüß]+${eng}*" {
set lang DEU
} "^${eng}*\[àâæçéèêëîïôœùûüÿ]+${eng}*" {
set lang FRA
} "^${eng}*\[а-яћџђљњčćžđš]+${eng}*" {
set lang SRB
} "^${eng}*\[а-я]+${eng}*" {
set lang RUS
} "^${eng}+" {
set lang ENG
} default {
set lang RUS
}
}
# Получение информации о PDF-файле
proc load {filename} {
set file_basename [file rootname [file tail $filename]]
@ -152,6 +170,7 @@ namespace eval pdf { @@ -152,6 +170,7 @@ namespace eval pdf {
set ::pdf::file_rootname [file rootname $filename]
set ::pdf::title $title
set ::pdf::authors [authors_list $authors]
set ::pdf::language [guess_language $file_basename]
set ::pdf::canonical_authors [canonical_authors $authors]
read_tags

Loading…
Cancel
Save