|
|
|
@ -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 |
|
|
|
|